【发布时间】:2011-03-20 08:49:03
【问题描述】:
和其他人一样,我可以说“我什么都试过了!”我有点。我查看了整个 StackOverflow,并尝试了所有答案,但一无所获。无论如何,在进一步开发此代码之前,我至少要让 Python 打印一些代码。
我想从我的 Garry's Mod 服务器 (logaddress_add MyIP:7131) 接收 UDP 数据包,但我似乎没有收到任何这些数据包。这很可能不是路由器防火墙问题,因为我可以在我的另一台计算机上使用 HLSW。我使用过 Wireshark,但没有从我的服务器 IP 中看到任何数据。我使用 Python 解释器 /made some code(尽管示例是 TCP)来查看是否有任何数据——以确保 Wireshark 没有做错任何事情——也没有任何结果。我在做傻事吗?
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(('0.0.0.0', 7131))
sock.settimeout(10)
sock.recv(1024)
编辑:我正在用 HLSW 进行一些测试,发现它似乎在做某种魔术。当您尝试 logaddress_add 不是 HLSW 的某个端口(例如 7135)时,它不会做任何事情。 Wireshark 根本不会做任何事情。不显示任何日志,任何东西。但是,当您将 HLSW 更改为使用刚刚添加的端口 (7135) 时,Wireshark 突然获得数据流,包括我正在喷射的控制台数据。是不是某种配置 HLSW 正在改变?
【问题讨论】:
-
如果 Wireshark 没有检测到来自服务器的任何数据包,您可能没有从服务器获得任何数据包。使用套接字而不是 libpcap 进行检测不会改变这一点。我建议您集中精力找出数据包无法通过网络传输的原因。在您可以(使用 Wireshark)验证数据包是否通过之前,不要使用 Python 做任何事情。
-
如果数据包确实通过(对于未来),那么 Python 代码是否足以获取数据?
-
我认为某种“udp 打孔”正在进行中。
标签: python sockets logging udp