UDP套接字开始无法接收

时间:2010-10-12 08:58:15

标签: c++ iphone sockets udp objective-c++

我有一个非常烦人的错误。

我们让我们的iPhone应用程序一夜之间运行。

每隔2秒,它会通过打开的套接字向网络发送广播ping,以通知设备处于活动状态。现在,另一个应用程序检测到ping并尝试发回消息。问题是,尽管ping继续出去,但没有收到任何数据包。

这似乎只发生在几个小时之后(令人烦恼的是,我们只是设法在一夜之间得到这个)。然后它似乎让iphone处于一个非常混乱的状态,即使在重新启动应用程序之后它仍然无法接收数据包。最后一段时间(对不起,我不知道多久)手机开始正常重演,我可以继续。

我猜测iOS的某个地方阻止了套接字接收数据(但奇怪的是不能在同一个套接字上发送!)。

有谁知道这可能是什么,更重要的是,我如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

原来这是一个非常奇怪的问题。

我打破了一个数据包嗅探器来检查发生了什么,我发现我的PC正在发送ARP广播,​​试图找出谁有IP地址。路由器或iPhone无法应答这些ARP请求。

这很奇怪。

最后我开始检查我所连接的wifi接入点。我禁用了wifi,迫使我们使用不同的(虽然稍微弱一些)接入点,突然ARP请求得到了回应,一切都跳了起来。

就在这时,我记得我的Boss已经绊倒了接入点的电线,它已经撞到了地上。它似乎“似乎”工作......但显然,他打破了“某事”:(

问题现在已不复存在!