最近项目需要使用到服务端消息同步到移动端,有什么好的解决方案呢?
我自己首先想到的是两种解决方案:
第一种:ajax轮询(显然不是很好的一种方法,因为服务端消息是个未知信息,如果一直保持的轮询的话,即使间隔几秒,移动端没有轮询的结束操作,就像是一个没有终止操作的无限循环)
第二种:使用websocket,在业务需要实时更新的地方建立一个长连接,google了很多资料,网上很多人建议使用Ratchet,那么问题是,有人使用过这个工具库么?它跟国内的workman有什么异同点呢??该如何选择这两个工具。。。
对了,重要的一点忘了,现在项目是基于CI3开发的,所以还要考虑到和CI3的兼容性。
下面是我在搜集资料中的一些关键内容:
http://stackoverflow.com/questions/34389...
http://socketo.me/
http://forum.codeigniter.com/thread-6340...
实时双向通信肯定是用 Websocket,不过我不建议用 PHP 做 websocket 的服务端,建议用 nodejs
另外,如果只是服务器推送,浏览器端可以用 EventSource,这个也是一个 HTML5 标准。