我使用了《Beej网络编程指南》中的广播程序.c以及listner.c,但无法将广播数据包发送到服务器。我已经登记了Wireshark,它确实发送了。但我无法让侦听器接收连接。它似乎只适用于localhost和192.168.1.56,而不适用于255.255.255或192.168.1.255。
如果您将套接字绑定到服务器部分的broadcast address
(手动或INADDR_BROADCAST
)或INADDR_ANY
,则它将接收广播,否则Linux将不会接收数据包。
顺便说一句,路由器不转发255.255.255.255
广播。因此,不要在基础设施模式下使用它。