> 백엔드 개발 > PHP 튜토리얼 > CI3怎么实现服务端消息推送?

CI3怎么实现服务端消息推送?

WBOY
풀어 주다: 2016-06-06 20:13:20
원래의
949명이 탐색했습니다.

最近项目需要使用到服务端消息同步到移动端,有什么好的解决方案呢?

我自己首先想到的是两种解决方案:

第一种:ajax轮询(显然不是很好的一种方法,因为服务端消息是个未知信息,如果一直保持的轮询的话,即使间隔几秒,移动端没有轮询的结束操作,就像是一个没有终止操作的无限循环)

第二种:使用websocket,在业务需要实时更新的地方建立一个长连接,google了很多资料,网上很多人建议使用Ratchet,那么问题是,有人使用过这个工具库么?它跟国内的workman有什么异同点呢??该如何选择这两个工具。。。

对了,重要的一点忘了,现在项目是基于CI3开发的,所以还要考虑到和CI3的兼容性。

下面是我在搜集资料中的一些关键内容:
http://stackoverflow.com/questions/34389...
http://socketo.me/
http://forum.codeigniter.com/thread-6340...

回复内容:

最近项目需要使用到服务端消息同步到移动端,有什么好的解决方案呢?

我自己首先想到的是两种解决方案:

第一种: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 标准。

服务端消息同步到移动端

同步是双向的,从你的描述中没有看到需要双向同步。

可以试试第三方推送:比如个推、JPush等。

如果是双向的,可以使用 websocket。

为何不考虑异步推送? 服务器端一旦有新消息就给移动的主动推送,移动端有接收消息接口就可以了

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿