摘要:
最近在做前端的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添加自己的消息类型。