官术网_书友最值得收藏!

三、實現個性化的推送

上面說了很多原理,也給出了簡單的代碼實現,但是在實際生產過程中,肯定不能用上面的代碼,針對自己系統的應用場景選擇合適的推送方案才是合理的,因此最后簡單說一下實現個性化推送的兩種方式。第一種很簡單,直接使用第三方實現的推送,無需復雜的開發運維,直接可以使用。第二種就是自己封裝,可以選擇如今較為火熱的WebSocket來實現系統的推送。

第三方

在這里推薦一個第三方推送平臺,GoEasy

推薦理由是GoEasy的理念符合我們的選擇:3

1)更簡單的方式將消息從服務器端推送至客戶端

2)更簡單的方式將消息從各種客戶端推送至客戶端

GoEasy具體的使用方式這里不再贅述,詳見官網。對于后端后端開發者,可直接使用Rest方式調用推送,對于前段或web開發者,可以從web客戶端用javascript腳本進行調用推送。

封裝自己的推送服務

如果是一個老系統進行擴展,那么更推薦使用Server-sent,服務端改動量不會很大。如果是新系統,更推薦websocket,實現的功能功能更全面。

我們以websocket為例,不再貼出具體的代碼實現。

我們如果需要使用websocket技術實現自己的推送服務,需要注意哪些點,或者說需要踩哪些坑呢,本文最后列出幾點供大家參考。

長連接的心跳處理;

WebSocket中獲取HttpSession進行用戶相關操作;

服務端調優實現高并發量client同時在線;

服務端維持多用戶的狀態;

群發消息;

等等等….

最后貼出上述代碼的git庫地址,所有demo均可運行。環境為jdk1.8+tomcat8

https://github.com/codingxxm/PushDemo


引用:

1https://www.cnblogs.com/zhaozhan/archive/2010/09/08/1821834.html

2https://www.ibm.com/developerworks/cn/web/wa-lo-comet/

3http://www.goeasy.io/cn/started


推薦閱讀

RESTful API教程:學習關鍵的Web服務設計原則

React-native如何變為移動端的弄潮兒

使用消息系統進行微服務間通訊時,如何保證數據一致性


關于作者:寶石徐,普元信息開發工程師,畢業于遼寧科技大學,專注于使用移動開發平臺開發app,負責中國郵政集團移動平臺項目郵我行app開發和后臺開發運維工作。

主站蜘蛛池模板: 临沭县| 临武县| 灯塔市| 旌德县| 修武县| 海口市| 察雅县| 井陉县| 辽宁省| 凤庆县| 漾濞| 乐安县| 马山县| 措美县| 秦安县| 青龙| 保亭| 玉环县| 招远市| 漳平市| 柏乡县| 恩施市| 安溪县| 喀喇沁旗| 如皋市| 竹北市| 双流县| 安义县| 岳池县| 咸阳市| 珲春市| 沙田区| 许昌市| 略阳县| 泰顺县| 东乡族自治县| 通江县| 阿拉善右旗| 巧家县| 蓬莱市| 襄城县|