国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JAVA Web實時消息后臺服務器推送技術---GoEasy

2019-11-19 19:03:41
字體:
來源:轉載
供稿:網友

越來越多的項目需要用到實時消息的推送與接收,我這里推薦大家使用GoEasy, 它是一款第三方推送服務平臺,使用它的API可以輕松搞定實時推送!

瀏覽器兼容性:GoEasy推送 支持websocket 和polling兩種連接方式,從而可以支持IE6及其以上的所有版本,同時還支持其它瀏覽器諸如Firefox, Chrome, Safari等等。

支持不同的開發語言:GoEasy推送 提供了Restful API接口,無論你的后臺程序用的是哪種語言都可以通過Restful API來實現后臺實時推送。如:Java,PHP, C#, Ruby, Python, C, C++, ASP.NET,Node.js...

支持后臺及前臺推送: 后臺用Restful API, 前臺用goeasy.js; 運用十分簡單!

下面我介紹一下使用GoEasy的步驟:

 1. 你需要到goeasy官網上注冊一個賬號,并創建一個應用,應用創建好后系統會默認為它生成兩個key: publish key和subscribe key

 2. 前臺實時訂閱及接收

只需要引入goeasy.js,然后調用goeasy的subscribe方法訂閱一個channel即可,訂閱時無論是用publish key還是subscribe key都可以。通過subscribe的參數 onMessage的回調函數可以實時接收到消息。

 3. 前臺實時推送

還是需要引入goeasy.js(如果該頁面已經引入了可不在引入),然后調用goeasy的publish方法向已訂閱的channel上推送消息即可,推送時只能用publish key。

 4. 后臺實時推送

調用GoEasy Restful API, 用post方式訪問http://goeasy.io/goeasy/publish, 同時還需要帶上三個必要參數:

  • appkey: publish key
  • channel: 你訂閱了的channel
  • content: 推送內容

 就是這么簡單。

推送的原理:GoEasy的實現原理很簡單,就是推送消息的一端只負責推送,而需要接收的頁面需要預先訂閱。訂閱什么呢?訂閱channel。往 某個channel上推送消息,客戶端就訂閱相同的channel,這樣就可以確保準確接收。通過channel我們可以自己指定哪些頁面或哪些用戶可以 接收到從這個channel上推送出來的消息。

下面我將之前寫的一個小實例貼出來,里面用了Javascript 在web頁面進行訂閱,推送,接收,以及取消訂閱的例子,里面的appkey用的是goeasy官方的demo 的appkey.

<html><head><title>GoEasy Test</title><script type="text/javascript" src="https://cdn.goeasy.io/goeasy.js"></script><script type="text/javascript">  if(typeof GoEasy !== 'undefined'){    var goEasy = new GoEasy({      appkey: 'ba821151-e043-4dfb-a954-c73744c8d323',      userId:"222",      username:"22",      onConnected:function(){        console.log("Connect to GoEasy success.");      } ,      onDisconnected:function(){        console.log("Disconnect to GoEasy server.");      } ,      onConnectFailed:function(error){        console.log("Connect to GoEasy failed, error code: "+ error.code+" Error message: "+ error.content);      }    });  }        subscribe();  function subscribe(){       goEasy.subscribe({        channel: 'notification',        onMessage: function(message){          console.log('Meessage received:'+message.content);        },        onSuccess:function(){          console.log("Subscribe the Channel successfully.");        },        onFailed: function(error){          console.log("Subscribe the Channel failed, error code: "+ error.code + " error message: "+ error.content);        }      });  }         function publishMessage(){     goEasy.publish({        channel: 'notification',        message: 'You received a new notification',        onSuccess:function(){          console.log("Publish message success.");        },        onFailed: function(error){          console.log("Publish message failed, error code: "+ error.code +" Error message: "+ error.content);        }      });      }            function unsubscribe(){        goEasy.unsubscribe({          channel:"notification",          onSuccess: function(){            console.log("Cancel Subscription successfully.");          },          onFailed: function(error){            console.log("Cancel the subscrition failed, error code: "+ error.code + "error message: "+ error.content);          }        });      }     </script></head><body> <input type="button" value="publish" onclick="publishMessage()"/> <input type="button" value="unsubscribe" onclick="unsubscribe()"/> <input type="button" value="subscribe" onclick="subscribe()"/></body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿克苏市| 广州市| 楚雄市| 安陆市| 大竹县| 额尔古纳市| 贵溪市| 黔西| 德化县| 陇西县| 康平县| 滦南县| 宝丰县| 普兰县| 横山县| 吐鲁番市| 雅江县| 平原县| 宁河县| 浮山县| 沐川县| 铁岭县| 泗水县| 洱源县| 徐汇区| 蓬溪县| 监利县| 台湾省| 克什克腾旗| 伊宁市| 新巴尔虎右旗| 德惠市| 达孜县| 崇义县| 郸城县| 于田县| 项城市| 南溪县| 邵阳市| 平顶山市| 黄龙县|