最近新开一个项目,要使用WebSocket 在后台保持连接。大家都知道,在iOS平台上,由于苹果的后台机制,会有以下问题:
当程序退到后台的时候,一段时间后(大概300s)所有线程被挂起。
线程挂起后,系统就会回收所有的WebSocket资源,那么socket连接就会被关闭,因此无法再进行数据的传输。
网友的方案:1、http://blog.csdn.net/u010818357/article/details/51221002
2、http://www.cnblogs.com/liuhuakun/p/6704762.html
综合网友提供的方案:我是这样实现的
首先是项目 设置
其次,就是撸代码了,码云的下载链接
https://git.oschina.net/lixiqing/UIBackgroundTaskIdentifier.git
WebSocket 的代码就看你怎么处理了,只要保证程序不会被挂起,WebSocket 就要在后台保持链接。