亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python中socket函數recv的問題!

Python中socket函數recv的問題!

Qyouu 2018-07-17 14:07:16
我在寫python教程的博客,但是今天在寫socket編程的相關知識的時候,準備用下面的程序做演示代碼,本以為不會有問題,但是問題就莫名其妙的出現了!d = s.recv(1024) 這段代碼的返回值通過使用 not d 判斷總是失敗,于是那個循環讀取的 while 就陷入了死循環,請各位幫忙看一下,謝謝!#-*- coding:utf8 -*-import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.connect(("www.oschina.net", 80))s.send("GET / HTTP/1.1\r\nHost:www.oschina.net\r\n\r\n")tmp = []while True:    d = s.recv(1024)    if not d:        break    tmp.append(d)data = ''.join(tmp)s.close()header, html = data.split("\r\n\r\n", 1)print headerwith open("oschina.html", "wb") as f:    f.write(html)
查看完整描述

2 回答

?
largeQ

TA貢獻2039條經驗 獲得超8個贊

服務器沒斷開鏈接,recv一直阻塞在那里,還沒走到if not d

查看完整回答
反對 回復 2018-07-18
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

recv沒有得到信息的時候會返回一個0吧,not 0返回了True

查看完整回答
反對 回復 2018-07-18
  • 2 回答
  • 0 關注
  • 2165 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號