最近在作前端的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