【发布时间】:2019-08-23 11:23:59
【问题描述】:
我有一个 TCP python 客户端,它向 C++ 中的 TCP 服务器发出请求。我无权访问服务器,因此无法更改服务器部分的任何代码。
问题是有时客户端发出的请求没有收到服务器部分的任何数据,因此程序在data = sock.recv(1024) 行中被阻塞。
所以我想知道我该如何解决这个问题。如果没有收到数据,我尝试在该行之后放置一个条件,但我无法通过 data = sock.recv(1024) 行。
try:
data = sock.recv(12) # this always gets data, it is a message send by the server that verifies the connection is alright
print("Received: ", ":".join("{:02x}".format(c) for c in data))
data = sock.recv(1024)
print("Received: ", ":".join("{:02x}".format(c) for c in data))
except IOError as e:
pass
【问题讨论】:
标签: python python-3.x sockets tcp client