我有一個即時消息應用程序,客戶端用python編寫。連接到服務器在Python中異步接收TCP數據包
代碼:
def connect(self, host, port, name):
host = str(host)
port = int(port)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send('CONNECT:' + name)
print s.recv(1024)
return s
則S將被存儲在一個self.socket。
這裏是從服務器接收tcp數據包並將其打印到命令行的功能。
def chat(self):
while True:
data = self.socket.recv(4096)
if not data:
pass
else:
print data
所以在我的腦海裏應該得到的一切服務器發送和打印出來,但它不發生的情況。任何人都知道如何實現它?
當您嘗試運行究竟是怎樣呢? –
它的工作原理,我可以發送消息到服務器和服務器接收它,但我不能接收消息在客戶端。 順便說一句,它與一個telnet客戶端。 – Fireship
並且之前有 如果不是數據: 打印'錯誤' 並且它開始無限打印 – Fireship