我有一个应用程序,它会创建一个TCP套接字并从各种硬件接收数据。大多数客户都很满意,但是有些客户在一段时间后(可能是30秒或5分钟)会遇到TCP连接中断的问题。
我使用CFStreamCreatePairWithSocketToHost方法,并在“handleEvent”方法中处理所有事件。一些客户记录了失败情况,我收到了以下事件:
"ErrorOccurred" "The operation couldn’t be completed. Socket is not connected (Code = 57)"
经过几次成功的重新连接后,当我尝试重新连接时,我可能会遇到以下事件:
"ErrorOccurred" "The operation couldn’t be completed. No route to host (Code = 65)"
很容易解释为他们创建WiFi网络和流式传输数据的设备出现问题,但是有些客户还使用其他连接到相同设备的应用程序,并且这些应用程序不会失去连接。
我已经没有更改或改进来解决问题的想法了。我检查了可以使用的数据大小,并且从未超过1句话,因此不像任何缓冲区正在运行。我实际上还有一个小测试应用程序,除了连接到广播设备并记录接收到的数据外,什么都不做 - 这也会使这些客户失去连接。
我也尝试使用AsyncSocket,但是我遇到了同样的问题。我的头发正在变灰... :-) 感谢任何帮助。
我使用CFStreamCreatePairWithSocketToHost方法,并在“handleEvent”方法中处理所有事件。一些客户记录了失败情况,我收到了以下事件:
"ErrorOccurred" "The operation couldn’t be completed. Socket is not connected (Code = 57)"
经过几次成功的重新连接后,当我尝试重新连接时,我可能会遇到以下事件:
"ErrorOccurred" "The operation couldn’t be completed. No route to host (Code = 65)"
很容易解释为他们创建WiFi网络和流式传输数据的设备出现问题,但是有些客户还使用其他连接到相同设备的应用程序,并且这些应用程序不会失去连接。
我已经没有更改或改进来解决问题的想法了。我检查了可以使用的数据大小,并且从未超过1句话,因此不像任何缓冲区正在运行。我实际上还有一个小测试应用程序,除了连接到广播设备并记录接收到的数据外,什么都不做 - 这也会使这些客户失去连接。
我也尝试使用AsyncSocket,但是我遇到了同样的问题。我的头发正在变灰... :-) 感谢任何帮助。