繁体   English   中英

iOS TCP套接字失去了一些客户的连接

[英]iOS TCP socket losing connection for some customers

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

我正在使用CFStreamCreatePairWithSocketToHost方法,并在“handleEvent”方法中执行所有操作。

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

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

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

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

简单的解释是,他们创建WiFi网络和流数据的设备很糟糕,但是一些客户也在使用连接到相同设备的其他应用程序,这些应用程序不会丢失连接。

我已经没有想法要改变或改进以解决问题。

我已经检查了可用数据的大小,并且它永远不会超过1个句子,所以它不像任何缓冲区运行完全。

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

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

我的头发变灰了...... :-)任何帮助都会受到赞赏。

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

案件结案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM