gza*_*fra 3 sockets objective-c websocket ios
我想知道哪个是正确的代理来挂起套接字连接以在以后恢复它,为什么。
从我在使用套接字的其他项目中阅读和看到的内容来看,这applicationWillResignActive
似乎是正确的选择,但是我也注意到它的调用频率很高。(甚至在显示“ Itunes InApp”购买对话框时)
不需要时我不想关闭连接。就我而言,在活动状态下,应用程序仍然能够处理套接字,因此,当应用程序进入后台时关闭连接,应该不会有问题,但是我不希望应用程序仅进入后台不能确保正确关闭连接并错过进程上的消息。
恢复连接时也会发生同样的情况。到目前为止,它已经在applicationDidBecomeActive
委托中了,但是可能更有意义applicationWillEnterForeground
。
有什么理由要使用此委托吗?
谢谢!
因此,看到没有人在回答我,我觉得我应该根据进一步的测试从发现的内容中添加一些答案,这样就不会无所适从。
基本上,当应用程序进入后台时挂起/关闭连接,而当应用程序进入前台时恢复/重新连接则更有意义。
这背后的原因是,即使套接字连接仍然可以保持打开状态,applicationWillResignActive也会经常发生。收到任何警报时,可以通话或激活多任务,但该应用程序仍处于运行状态并且可以完全运行。
这也意味着,如果您使用应用程序内购买,则当系统提示您输入iTunes详细信息时,连接将关闭,如果您还使用自己的后端管理这些购买并需要保持连接有效,则可能会出现问题。 。
据我所知,当应用程序进入后台时,套接字连接将不再保持活动状态,应该安全地改为在applicationDidEnterBackground上将其关闭。
作为附带说明,请记住确保连接正确关闭,因为您只有大约5秒钟的时间可以执行此处所需的任何操作,尤其是在侦听套接字关闭事件以执行某些操作时。
同样,这是根据我的经验。如果您对此事有更多信息,请随时告诉我。
归档时间: |
|
查看次数: |
649 次 |
最近记录: |