標籤:php後台推送
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代碼 650) this.width=650;" class="star" src="http://fengziit.iteye.com/images/icon_star.png" alt="收藏代碼" />
var goEasy = new GoEasy({appkey: ‘subscriber key‘});//這裡我用的是 subscriber key
不需要推送任何訊息,所以沒有必要使用 supper key
Js代碼 650) this.width=650;" class="star" src="http://fengziit.iteye.com/images/icon_star.png" alt="收藏代碼" />
goEasy. subscribe({
channel: ‘csdnNotification‘,
onMessage: function(message){
alert(‘Meessage received:‘+message.content);//接收到推送的訊息
}
});
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 …..‘ //要推送的內容
PHP基於websocket即時通訊的實現—GoEasy