使用 python2.X(适用于 Linux (++) 和 Windows (+)) 我正在尝试创建一个 python 客户端,以监听地址和端口。 这些消息是由应用程序在特定地址和特定端口上发送的,但我不知道它是如何编写的。我只是确定它可以正常运行并且使用 UDP 协议(protocol)。
所以,我编写了这段代码来接收消息:
import socket
#---socket creation
connexion = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#---Bind
try:
connexion.bind(('', 10015))
except socket.error:
print "connexion failed"
connexion.close()
sys.exit()
#---testing
while 1:
data, addr = connexion.recvfrom(1024)
print "messages : ", data
此时,运行它没有错误,但代码停在这一行:
data, addr = connexion.recvfrom(1024)
什么也没发生...我想我没有连接并且无法接收消息,但我不知道为什么。 我尝试将地址更改为:“192.168.X.X”,但结果是一样的。
如果有人能帮助我,那就太好了。我不太舒服为什么 python... PS:抱歉我的英语。
最佳答案
我发现了我的问题。我更改了 IP 地址(在文档中,它是 192.168.00 8.0 15 ;我尝试像普通地址(192.168.8.15)一样不带零,然后我收到我的消息
我也改变了代码的结构:(不知道是否有影响)我把我的“try:[...] except:[...]”放在线上
data, addr = connexion.recvfrom(1024)
而不是行:
connexion.bind(('', 10015))
感谢您的帮助;)
关于PYTHON - 在不知道服务器的情况下进行UDP监听,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21183818/