【问题标题】:Socket is disconnected immediately after making connection by using GCDAsyncSocket library in iPhone application使用 iPhone 应用程序中的 GCDAsyncSocket 库建立连接后立即断开套接字
【发布时间】:2013-12-06 13:02:17
【问题描述】:

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

您可以下载CocoaAsyncSocket Library source code

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

日志显示:

Socket disconnected : Error Domain=NSPOSIXErrorDomain Code=57 "操作无法完成。Socket is not connected" 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);
}

【问题讨论】:

标签: ios sockets gcdasyncsocket cocoaasyncsocket


【解决方案1】:

我尝试了以下方法:

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

现在它正在工作。

【讨论】:

  • 我试过了,它似乎仍然在主机端下降,几乎是立即(通常在接受后 2 毫秒)。奇怪的是,客户端似乎并没有意识到套接字丢失了。另外,我得到的错误是空的。有什么想法吗?
猜你喜欢
  • 2016-03-28
  • 2020-02-07
  • 2014-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多