最近在作前端的socket消息推送,使用了socket.io.js的最新版本。使用過的都知道socket.io.js是基於消息類型來通訊的,若是消息類型多了就很難維護。因此本人就對socket.io.js進行了應用層的封裝。命名爲giraffe.js,giraffe的含義是長頸鹿,意爲可以望的遠。javascript
源碼:https://github.com/baixuexiyang/Giraffe 歡迎fork和star前端
giraffe.js同時支持AMD和CMD以及node.js環境的使用,針對不一樣環境的引用以下:java
npm install socket-giraffe
define(["giraffe"], function () { // your code });
seaJs.use('giraffe');
<script src="giraffe.min.js"></script>
定義了兩種方法,一種是經過方法進行回調,publish推送服務端,receive接收服務端推回來的消息,另一種是回調直接寫在方法裏node
// 初始化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添加本身的消息類型。git