PYTHON - 在不知道服务器的情况下进行UDP监听

标签 python sockets udp listen

使用 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/

相关文章:

python - 在 AWS EMR 从属节点中找不到模块

80+GB XML 的 Python sax 到 lxml

c - getaddrinfo() 返回环回地址

java - 套接字连接 - 消息顺序?

c++ - 在 C++ 中通过 UDP 套接字发送结构、 float 和整数

encryption - 加密连续/小型 UDP 数据的最佳实践

FFmpeg 使用 UDP 进行多播数据包过滤

python - 盈透证券自动交易

python - Python UDP套接字在recvfrom()上引发立即错误

python 通用类型提示 + 用户定义的容器 + 约束实现 __add__ 方法的类型