基本上我有一个计划,A,实时发送结果(不仅仅是数据点)到另一个程序,B,处理。每个数据点作为一个UDP数据包发送,在特定的端口和127.0.0.1上,包含该点作为一个字符串。当B未运行,我可以做听一个端口已经在使用Python中的UDP数据包?
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.bind(("127.0.0.1, port))
while True:
data, addr = sock.recvfrom(65565)
然后很明显,当B正在运行,我得到
[Errno 98] Address already in use
我怎样才能看到这些端口发送的数据包?在过去的(单独的项目),我不得不使用
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_UDP)
里面看到所有传入和传出UDP数据包
数据包嗅探器,但似乎过度。我只需要查看来自特定端口的数据包。我对这个较低层的套接字编程相当陌生。任何帮助表示赞赏
这按预期工作。虽然,根据这个,Scapy的明显比使用较低级别的插座慢,所以我结束了我的implementation.http坚持://askldjd.com/2014/01/15/a-reasonably-fast-python-ip-嗅探器/ – Shatnerz