间歇性地获取NSStreamEventErrorOccurred

时间:2011-01-28 12:49:35

标签: ios sockets networking

我正在开发一个iPhone应用程序,用于扫描特定端口上的IP范围。 192.168.1.2至192.168.1.10(含)。

我正在使用CoreFoundation网络方法创建输入和输出流,并将流事件发送回我的委托。

在尝试连接到每个IP地址的范围内循环时,我设置了超时,如果我没有按时间设置收到响应,我知道该IP上没有设备。

如果收到NSStreamEventNone,我也知道没有设备设置。

大多数时候,这一切都有效。我设置了0.3秒的超时。因此扫描范围需要2.4秒。

然而有时,显然是随机的,对于每个IP地址,我将收到一个NSStreamEventErrorOccurred响应。

Apple的文档说:

  

如果在运行循环上调度流对象,该对象会在流:handleEvent:message中向其委托报告NSStreamEventErrorOccurred事件。

但是我不相信我把它放在主线程上正在进行的任何一个运行循环上。

还有什么可能导致NSStreamEventErrorOccurred?

0 个答案:

没有答案