目的: 在两个不同的进程中接收发送到单个端口的 UDP 单播数据包。
系统:Linux,语言:C
我可以使用 SO_REUSEADDR 将两个不同进程中的两个套接字绑定(bind)到同一个端口。但是,正如预期的那样,数据包仅在一个(后面绑定(bind)的一个)中收到。
是否可以在两个进程中都收到数据包?如果不是,tcpdump 如何能够读取但不使用数据包。
最佳答案
套接字 API 是不可能的,tcpdump 在任何 TCP/IP 处理之前直接从网络接口(interface)挑选数据包。
你唯一的机会是在一个进程中接收数据包并将它们重新发送到另一个进程。
关于c - UDP 单播 : two processes listening on same udp port; only one receiving packets,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9721176/