C bind()-将UDP套接字绑定到不同的地址
我有一个非常简单的问题,我似乎在任何地方都找不到答案: 使用Linux C套接字,是否可以在本地地址以外的IP地址上绑定()和recvfrom()UDP数据包 i、 例如,如果主机已获得LAN地址10.0.0.4,并且我希望它能够接收发送到端口5505上地址10.0.0.5的UDP数据包(例如),如何实现这一点 我根本找不到任何使用bind/recvfrom的例子,这似乎应该很普遍 更新C bind()-将UDP套接字绑定到不同的地址,c,sockets,udp,bind,C,Sockets,Udp,Bind,我有一个非常简单的问题,我似乎在任何地方都找不到答案: 使用Linux C套接字,是否可以在本地地址以外的IP地址上绑定()和recvfrom()UDP数据包 i、 例如,如果主机已获得LAN地址10.0.0.4,并且我希望它能够接收发送到端口5505上地址10.0.0.5的UDP数据包(例如),如何实现这一点 我根本找不到任何使用bind/recvfrom的例子,这似乎应该很普遍 更新 我正在尝试在多个主机之间通信数据包流。每个主机在其自己的地址上传输UDP数据包,任何其他主机都可以通过在特定
我正在尝试在多个主机之间通信数据包流。每个主机在其自己的地址上传输UDP数据包,任何其他主机都可以通过在特定地址上recvfrom()进行侦听 不,通常不能绑定到非本地单播地址。在以太网上,这些数据包将被发送到IP地址所有者的硬件地址,默认情况下,NIC甚至不会将这些数据包转发到内核
您可以通过使用IP多播来实现想要的效果。您可以为应用程序选择一个特定的多播地址并绑定到该地址,然后使用
IP\u ADD\u MEMBERSHIP
socket选项加入多播组。然后,您可以按常规方式使用recvfrom()
。不清楚您在这里要问什么。。。这里的交通流量是多少?是谁派来的?谁在读书?中间有一台机器?你不应该使用多播地址吗?多播,甚至本地广播。