在iPhone上我创建了一个UDP套接字并将其绑定到WLAN接口。我启用SO_BROADCAST
并且我能够向网络发送广播数据包(由我的笔记本上运行的客户端确认。)但是iPhone上的UDP套接字无法接收广播数据包。
在我看来,这是一个内核错误,因为不允许启用SO_BROADCAST
的套接字来接收任何广播数据包,这是一个糟糕的设计决定。
问题进一步说明here和here。此问题最常用的解决方案是绑定到INADDR_ANY
。但是,能够在仍然接收广播数据包的同时将UDP套接字绑定到一个接口是很好的!真的没有办法实现这个目标吗?
(当我在C类网络(/ 24)上将套接字绑定到192.168.1.7时,它应该接受发送到192.168.1.7的数据包和发送到192.168.1.255的数据包!)
谢谢!
答案 0 :(得分:2)