3

我有一个创建 TCP 套接字并从不同类型的硬件接收数据的应用程序。我的大多数客户都是满意的用户,但有些客户会遇到 TCP 连接在一段时间后中断(可能是 30 秒或 5 分钟)的问题。

我正在使用 CFStreamCreatePairWithSocketToHost - 方法,并在“handleEvent”方法中完成所有处理。

我有一些客户记录失败,我得到了这个事件:

ErrorOccurred “操作无法完成。套接字未连接(代码 = 57)”

经过几次成功的重新连接后,当我尝试重新连接时,我可能会收到此事件:

ErrorOccurred “操作无法完成。没有到主机的路由(代码 = 65)”

简单的解释是他们创建 WiFi 网络和流式传输数据的设备不好,但一些客户也在使用连接到相同设备的其他应用程序,并且这些应用程序不会失去连接。

我没有什么想法可以改变或改进以解决问题。

我已经检查了可用数据的大小,它从不超过 1 个句子,所以它不像任何缓冲区都已满。

实际上,我还有一个小型测试应用程序,它除了连接到广播设备并记录接收到的数据之外什么都不做——这也失去了这些客户的连接。

我也尝试使用AsyncSocket,但我遇到了同样的问题。

我的头发变白了...... :-) 任何帮助将不胜感激。

4

1 回答 1

1

大量的测试、记录和推测最终解决了这个问题。客户唯一要做的就是降低波特率,问题就消失了。

结案。

于 2013-02-28T13:27:10.710 回答