iOS GCDAsyncSocket错误:域=NSPOSIXERRORSOMIN代码=57

iOS GCDAsyncSocket错误:域=NSPOSIXERRORSOMIN代码=57,ios,swift,gcdasyncsocket,Ios,Swift,Gcdasyncsocket,这是一个奇怪的。我使用的是GCDAsyncSocket,当我使用iOS模拟器时,有时我可以连接并发送,没有问题,但有时当我尝试连接并发送某些内容(writeData)时,我会出现以下错误: didDisconnect Error Domain=NSPOSIXErrorDomain Code=57“操作无法完成。套接字未连接” 奇怪的是,我无法预测这将在何时发生。另外,当我检查isConnected时,返回true 以下是代码(SWIFT): socket(didConnectToHost)回调启

这是一个奇怪的。我使用的是GCDAsyncSocket,当我使用iOS模拟器时,有时我可以连接并发送,没有问题,但有时当我尝试连接并发送某些内容(writeData)时,我会出现以下错误:

didDisconnect Error Domain=NSPOSIXErrorDomain Code=57“操作无法完成。套接字未连接”

奇怪的是,我无法预测这将在何时发生。另外,当我检查isConnected时,返回true

以下是代码(SWIFT):

socket(didConnectToHost)回调启动时没有问题,返回了正确的地址和端口,但当我尝试将上述代码写入socket时,出现了上述错误


你知道为什么这会是随机发生的吗。

看来这是模拟器的问题——还不是100%确定。但是,在两次测试之后,如果您让模拟器保持打开状态,然后切换网络,问题就会发生。解决方案是,如果你切换网络(家庭和工作),重启模拟器似乎可以解决这个问题。这让我发疯。你的办法对我也有效。非常感谢。
    var sendBytes:[Byte] = [0x0, 0x1, 0x2, 0x3] 
    var msgData = NSData(bytes: sendBytes, length: sendBytes.count)
    socket.writeData(msgData, withTimeout: -1.0, tag: 0)
    socket.readDataWithTimeout(-1.0, tag: 0)