iOS挂起期间的套接字断开调用';t断开插座

iOS挂起期间的套接字断开调用';t断开插座,ios,sockets,Ios,Sockets,我正在我的应用程序中使用。我有几个问题 当应用程序转到后台时,我喜欢关闭插座。在Suspend ApplicationIdentinterBackground调用期间,我执行以下代码,但它不会断开套接字的连接。(我通过连接的主机进行检查) 当我待机后,尽管我打了电话,但插座并没有关闭。60秒后,由于我们在后台,iOS关闭了套接字,一切恢复正常,但发送方丢失了60秒的数据。我可能没有正确使用API,但这也可能是一个问题 下面是我的代码的其余部分,以供参考: 初始化 dispatch_queue_

我正在我的应用程序中使用。我有几个问题

当应用程序转到后台时,我喜欢关闭插座。在Suspend ApplicationIdentinterBackground调用期间,我执行以下代码,但它不会断开套接字的连接。(我通过连接的主机进行检查)

当我待机后,尽管我打了电话,但插座并没有关闭。60秒后,由于我们在后台,iOS关闭了套接字,一切恢复正常,但发送方丢失了60秒的数据。我可能没有正确使用API,但这也可能是一个问题

下面是我的代码的其余部分,以供参考:

初始化

 dispatch_queue_t socketQ = dispatch_queue_create("socketQueue", NULL);
 asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:socketQ];

 if(![asyncSocket connectedPort])
 {
    if (![asyncSocket acceptOnPort:WIFI_BOX_PORT error:&error])
    {
      NSLog(@"Problem with opening Port: %@", error);
    }
    else
   {
       NSLog(@"Port opened, waiting for connection");
    }
 }
 dispatch_queue_t socketQ = dispatch_queue_create("socketQueue", NULL);
 asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:socketQ];

 if(![asyncSocket connectedPort])
 {
    if (![asyncSocket acceptOnPort:WIFI_BOX_PORT error:&error])
    {
      NSLog(@"Problem with opening Port: %@", error);
    }
    else
   {
       NSLog(@"Port opened, waiting for connection");
    }
 }