我们正在测试仅在IPV6(nat64网络)和仅IPV4网络中兼容IPV6的应用程序。我们一直在使用GCDAsyncSocket网络库为我们的应用程序建立套接字连接,以便通过它发送和接收数据。
1。当我们测试我们的iOS应用程序(使用我们在2014年下载的旧GCDAsyncSocket代码)时,根据Apple的指南连接到仅IPV6(nat-64)网络,套接字连接一旦我们登录应用程序就成功建立,但在几秒钟内(可能是20到30秒,有时在几分钟内),-(void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err
被称为断开套接字。
每次我们注销并登录我们的应用程序时,这只会发生一次。一旦我们登录,套接字就会建立,然后突然断开连接,抛出以下错误:
2016-12-17 09:11:10.650437 atCommand Enterprise[288:13780] LOG: Socket disconnect
2016-12-17 09:11:11.979232 atCommand Enterprise[288:13780] LOG: -
[MLAPIControl socketDidDisconnect:withError:] -> 175
Printing description of err:
Error Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected"
UserInfo={_kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}
Printing description of ((__NSCFDictionary *)0x0000000170470880):
{
"_kCFStreamErrorCodeKey" = 57;
"_kCFStreamErrorDomainKey" = 1;
}
Printing description of sock:
<GCDAsyncSocket: 0x101737d70>
2016-12-17 09:11:55.853540 atCommand Enterprise[288:13780] LOG: Error
Domain=NSPOSIXErrorDomain Code=57 "Socket is not connected" UserInfo=
{_kCFStreamErrorCodeKey=57, _kCFStreamErrorDomainKey=1}
2016-12-17 09:11:55.858775 atCommand Enterprise[288:13780] LOG: -
[MLAPIControl socketDidDisconnect:withError:] :
2. 在初始成功连接后,即使我下载了最新的(最新提交8ce941d 25天前)GCDAsyncSocket库代码,也会发生完全相同的套接字断开问题。
非常感谢任何帮助。 谢谢。