PHP websocket实时消息推送

实现步骤如下:
1. 获取 GoEasy appkey.
在 goeasy 官网上注册一个账号,并新建一个 app. APP 创建好后系统会为该 app 自动生成两个 key, 一个既可以用来接收又可以用来推送 (supper key),另一个只可以用来接收(subscriber key).
2. 客户端订阅一个 channel.
a. 在客户端引入 goeasy.js , js 地址: http://cdn.goeasy.io/goeasy.js
需要注意的是,不能将 goeasy.js 下载到本地,因为 goeasy 会根据不同浏览器来提供不同的 js. 官网上也有相应说明。
b. 订阅代码

Js代码  PHP基于websocket实时通信的实现—GoEasy_PHP

  1. var goEasy = new GoEasy({appkey: 'subscriber key'});//这里我用的是 subscriber key  

 不需要推送任何消息,所以没有必要使用 supper key

Js代码  PHP基于websocket实时通信的实现—GoEasy_PHP

  1. goEasy. subscribe({  

  2. channel: 'csdnNotification',  

  3. onMessage: function(message){  

  4. alert('Meessage received:'+message.content);//接收到推送的消息  

  5. }  

  6. });   

 
3. 前台推送及后台推送
3.1. 前台往相同 channel 上推送
在引入了 goeasy.js 的页面,直接调用 goEasy. publish('csdnNotification', '您的好友 222 已上线'); 用法与订阅类似。
3.2. 后台往相同 channel 上推送. 用 GoEasy 提供的 restful API 实现
API url: http://goeasy.io/goeasy/publish
方式: Post
参数列表:
channel: 'csdnNotification' //与订阅的 channel 必须一致,否则客户端将收不到消息。因此我们也可以根据 channel 来控制哪些客户端可以接收。
appkey: 'supper key' //这里必须使用 supper key
content: 'blabla …..' //要推送的内容