有2个python程序,host1.py
和host2.py
同时运行并通过socket
进行通信,以便 -
host1.py
有reciveSock = socket(AF_INET,SOCK_DGRAM)
且host2.py
有sendSocket = socket(AF_INET,SOCK_DGRAM)
。
套接字都是相互绑定的。
host1.py
有 -
try:
msgBacked = reciveSock.recv(256)
except:
pass
if( msgBacked is None):
print "isNone!"
确实打印isNone!
表示msgBacked
是None
。
host2.py
到host1.py
的所有发送都属于sendSocket.send("ACK")
类型,因此发送的字符串中有一个值传输到host1.py
。
那么msgBacked
如何成为None
?
答案 0 :(得分:3)
最有可能receiveSock.recv
为throwing a timeout exception,而msgBacked
之前已设为None
。尝试删除try .. except
,看看会发生什么。