写入NSOutputStream的Bonjour / NSNetService数据永远不会到达另一端(includesPeerToPeer = true)

时间:2016-07-10 12:17:24

标签: ios nsstream nsinputstream nsnetservice nsnetservicebrowser

我有一个iOS应用程序,通过Bonjour / NSNetService建立点对点连接。 (基于WiTap示例代码)

在某些情况下,两个设备在几秒钟后仍然无法再接收数据,而他们仍然可以写出数据(即没有报告错误)。

写入NSOutputStream的数据永远不会进入另一方的NSInputStream。

奇怪的是,建立连接后发送和接收工作正常。几秒钟后它似乎变坏了。

如果我设置includesPeerToPeer = false,则不再发生这种情况。有没有人有同样的问题?我需要使用点对点,因为需要使用蓝牙。

由于

1 个答案:

答案 0 :(得分:0)

我的第一个猜测是,在您收到一个流事件告诉您已准备好接受更多数据之前,您将数据写入流中。

如果这不是问题,那么要么是代码中的错误(你还没有发布任何内容)或者......好吧,有问题的课程可能仍然无法正常工作。参见:

https://developer.apple.com/library/ios/qa/qa1546/_index.html

如果是这种情况,您可能需要简要地下载到Core Foundation。