摘要:
最近在做前端的socket消息推送,使用了socket.io.js的最新版本。使用過的都知道socket.io.js是基於消息類型來通信的,如果消息類型多了就很難維護。所以本人就對socket.io.js進行了應用層的封裝。命名為giraffe.js,giraffe的含義是長頸鹿,意為能夠望的遠。
源碼:https://github.com/baixuexiyang/Giraffe 歡迎fork和star
使用:
giraffe.js同時支持AMD和CMD以及node.js環境的使用,針對不同環境的引用如下:
- node.js
npm install socket-giraffe
- requireJs
define(["giraffe"], function () { // your code });
- seaJs
seaJs.use('giraffe');
- web client
<script src="giraffe.min.js"></script>
例子:
定義了兩種方法,一種是通過方法進行回調,publish推送服務端,receive接收服務端推回來的消息,另外一種是回調直接寫在方法里
// 初始化socket參數 var Giraffe = new Giraffe({server: 'http://127.0.0.1:8080',autoReconnect: true}); Giraffe.init(function (re) { if (re) { console.log('你已成功連接到消息服務器'); } else { } }); // 發布消息 Giraffe.publish({data: 'test'}, function(re) { if(re) { console.log('發布消息成功!'); } else { console.log('發布消息失敗!'); } }); // 接收消息 Giraffe.receive(function(res) { console.log('publish 返回消息:' + res); }); // 直接回調 Giraffe.publication({data: 'test'}, function(res) { console.log('publication 回調:' + res); });
注意:
publish、receive、publication都是我自己定義的消息類型,你可以在源碼的giraffe添加自己的消息類型。