【发布时间】:2016-08-03 07:15:03
【问题描述】:
我正在使用 python 进行套接字编程。使用 ESP python,我创建了一个到服务器的套接字并发送请求(以 API 数据包格式,根据服务器代码它将响应)。在接收套接字时,我需要检查数据(如果接收到数据,则需要继续下一个操作。如果没有,我需要再次发送请求)。 发送没问题。在接收套接字时,如果没有接收到数据,则不会进入下一条指令..请帮帮我。
代码:
try:
s = socket(AF_INET, SOCK_DGRAM)
print "socket created"
except socket.error:
print "failed to create socket"
sys.exit()
发送数据:
s.sendto("packet of data", 0, (HOST,PORT))
在接收中:
recvpack, payload=s.recvfrom(1024)
if not recvpack:
s.sendto("packet of data", 0, (HOST,PORT))
elif(recvpack[]="packet of data"):
pass # continue to next operations..
在上面的接收语句中,如果recvfrom()没有得到任何数据,如何检查recvpack并返回下一步操作..如果socket.settimeout()或socket.setblocking()是解决方案,如何使用这些..
【问题讨论】:
标签: python sockets recv recvfrom