基本上我有一个程序,A,实时将结果(只是数据点)发送到另一个程序B来处理。每个数据点在特定端口和127.0.0.1上作为UDP数据包发送,包含点作为字符串。当B没有运行时,我可以做到
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数据包,但这似乎过多了。我只需要查看来自特定端口的数据包。我对这种低级套接字编程很新。任何帮助表示赞赏
答案 0 :(得分:1)
答案 1 :(得分:0)
无论您使用的数据包嗅探器(无论是wireshark还是tcpdump),您都可以设置数据包过滤器来选择特定端口。即(tcpdump port port#)或(udp.port == port#)。