通过在iPhone应用程序中使用GCDAsyncSocket库进行连接后立即断开套接字

时间:2013-12-06 13:02:18

标签: ios sockets gcdasyncsocket cocoaasyncsocket

我想从OBD2启用Wifi的适配器读取和写入数据,该适配器用于读取汽车数据和故障代码。为此,我使用GGCDAsyncSocket库进行套接字连接。

您可以下载CocoaAsyncSocket Library source code

但它几乎保持连接10秒,有时40-50秒然后终止。

日志显示:

Socket disconnected:Error Domain = NSPOSIXErrorDomain Code = 57“操作无法完成。套接字未连接”UserInfo = 0x14cd50 {}

任何帮助或想法都将不胜感激!

提前致谢!

请看下面的代码:

- (void)connectObdKeyHost:(NSString*)strHost port:(NSString *)strPort {
        [gcdAsyncSocket connectToHost:strHost onPort:portNo withTimeout:30 error:&error];
}

// GCDAsyncSocket Delegate Methods
- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port {
   NSLog(@"Socket connected : ");
}

- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err
{
    NSLog(@"Socket disconnected : %@",err);
}

1 个答案:

答案 0 :(得分:2)

我试过以下方法:

    [gcdAsyncSocket connectToHost:strHost onPort:portNo error:&error];

现在它正在运作。