0

拥有 2 个 python 程序,host1.py它们host2.py 同时运行并通过socket以下方式进行通信 -

host1.py拥有reciveSock = socket(AF_INET,SOCK_DGRAM)

并且host2.pysendSocket = socket(AF_INET,SOCK_DGRAM)

两个套接字都相互绑定。

host1.py有 -

try:
    msgBacked = reciveSock.recv(256)
except:
    pass
if( msgBacked is None):
    print "isNone!"

事实上,它打印出isNone!mean msgBackedis a None

所有发送的 from host2.pytohost1.py都是一个类型sendSocket.send("ACK"),因此发送的字符串中有一个值传输到host1.py

那么这怎么msgBacked可能None呢?

4

1 回答 1

3

很可能receiveSock.recv抛出超时异常,并且msgBacked之前设置为None. 尝试删除try .. except,看看会发生什么。

于 2013-01-20T01:33:18.493 回答