Ios 挂起applicationWillResignActive或ApplicationIdentinterBackground上的套接字连接?

Ios 挂起applicationWillResignActive或ApplicationIdentinterBackground上的套接字连接?,ios,objective-c,sockets,websocket,Ios,Objective C,Sockets,Websocket,我想知道哪个代理是挂起套接字连接以便稍后恢复的正确代理,以及为什么 从我在其他使用套接字的项目中所读到的内容来看,applicationwillresignative似乎是正确的,但我也注意到它被调用的次数太多了。(即使在显示“Itunes InApp”购买对话框时) 我不想在不必要的时候关闭连接。就我而言,在活动状态下,应用程序仍然能够处理套接字,因此如果我在应用程序进入后台时关闭连接,应该不会出现问题,但我不希望应用程序只进入后台,而不确保连接正确关闭,并错过进程中的消息 恢复连接时也会发生

我想知道哪个代理是挂起套接字连接以便稍后恢复的正确代理,以及为什么

从我在其他使用套接字的项目中所读到的内容来看,
applicationwillresignative
似乎是正确的,但我也注意到它被调用的次数太多了。(即使在显示“Itunes InApp”购买对话框时)

我不想在不必要的时候关闭连接。就我而言,在活动状态下,应用程序仍然能够处理套接字,因此如果我在应用程序进入后台时关闭连接,应该不会出现问题,但我不希望应用程序只进入后台,而不确保连接正确关闭,并错过进程中的消息

恢复连接时也会发生同样的情况。现在,它位于
applicationIDbecomeactive
委托上,但可能位于
applicationWillEnterForeground
上更有意义

是否有任何理由使用此委托


谢谢

所以,鉴于没有人回答,我觉得我应该根据我在进一步测试中发现的问题添加一些回答,这样这个问题就不会没有答案了

基本上,当应用程序进入后台时,挂起/关闭连接,当应用程序进入前台时,恢复/重新连接更有意义

这背后的原因是,应用程序WillResignative发生的频率太高,即使套接字连接仍然可以保持打开状态。当收到任何警报、呼叫或激活多任务时,但应用程序仍处于活动状态且完全可运行

这也意味着,如果您处理应用内购买,当提示您输入iTunes详细信息时,连接将关闭。如果您也使用自己的后端管理这些购买,并且需要激活连接,则这可能是一个问题

从我所看到的情况来看,当应用程序进入后台时,套接字连接将无法再保持活动状态,而只需在ApplicationIdentinterBackground上关闭它应该是安全的

作为旁注,请记住确保连接已正确关闭,因为您只有大约5秒钟的时间来执行此处需要执行的任何操作,特别是当您正在收听套接字关闭事件以执行某些操作时

这也是我的经验。如果你有更多关于这件事的信息,请随时告诉我