ios 9 中的 Asyncsocket 错误 - 在连接或接受连接时尝试连接。先断开

Posted

技术标签:

【中文标题】ios 9 中的 Asyncsocket 错误 - 在连接或接受连接时尝试连接。先断开【英文标题】:Asyncsocket error in ios 9 - Attempting to connect while connected or accepting connections. Disconnect first 【发布时间】:2015-10-21 07:57:57 【问题描述】:

此代码与应用设备上的服务器进行一些通信。 在客户将他们的 ios 升级到版本 9 之前,它运行良好。

clientSocket = [[AsyncSocket alloc] initWithDelegate:self];

@try


    NSString *msg = [NSString stringWithFormat:@"ios:%@",encodeNum];
    if (!clientSocket.isConnected) 

        [clientSocket connectToHost:@"my.server.com" onPort:7009 error:nil];

    

    NSData *data = [msg dataUsingEncoding:NSUTF8StringEncoding];
    [clientSocket writeData:data withTimeout:-1 tag:0];

@catch (NSException *exception)

    NSLog(@"exception: %@", exception);

在 iOS 9 中,它会抛出以下错误:

 Attempting to connect while connected or accepting connections. Disconnect first.

【问题讨论】:

【参考方案1】:

我遇到了同样的问题。 似乎clientSocket.isConnected 仍在连接时可能为假。您需要收听代表didConnectToHost以了解它何时已连接。

【讨论】:

以上是关于ios 9 中的 Asyncsocket 错误 - 在连接或接受连接时尝试连接。先断开的主要内容,如果未能解决你的问题,请参考以下文章

iOS AsyncSocket 通知两个 UIViewController

iOS开发之即时通讯之Socket(AsyncSocket)

iOS开发之即时通讯之Socket(AsyncSocket)

iOS_SN_Socket - AsyncSocket

无法编写:SSL / TLS with AsyncSocket for iOS

ios asyncsocket 无法调用 readdata 方法