摘要:

最近在做前端的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环境的使用,针对不同环境的引用如下:

  1. node.js

    npm install socket-giraffe
  2. requireJs
    define(["giraffe"], function () {
    // your code
    });
  3. seaJs
    seaJs.use('giraffe'); 
  4. 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添加自己的消息类型。

最新文章

  1. ios广告
  2. Debian添加raw裸设备
  3. HDU 5607 graph(DP+矩阵乘法)
  4. 远程调试树莓PI
  5. ArcGIS Engine Style文件操作
  6. hdu 2460
  7. JVM垃圾回收理论知识
  8. Mac下载并编译Google安卓AOSP项目代码
  9. 一个很奇特的异常 tmpFile.renameTo(classFile) failed
  10. MySQL 有输入输出参数的存储过程实例
  11. MongoDB Linux下的安装和启动(转)
  12. Convert a byte[] array to readable string format. This makes the &quot;hex&quot; readable!
  13. cmake工具链
  14. 系统学习DOM事件机制
  15. 前端面试题之css
  16. IAAS-虚拟化技术组件介绍
  17. Django session/cookie
  18. Django积木块十——全文检索
  19. [nodejs] nodejs开发个人博客(三)载入页面
  20. &lt;video&gt;标签:视频播放器动态设置src

热门文章

  1. Linux(10.18-10.25)学习笔记
  2. 超全!iOS 面试题汇总
  3. QT cannot open output file debug\OpencvTest.exe: Permission denied
  4. Linux下线程池的理解与简单实现
  5. 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
  6. 记”Uri.IsWellFormedUriString”中的BUG
  7. jquery设置滚动条距离页面顶部的高度
  8. js中的DOM操作(2)
  9. C#基础知识系列八(const和readonly关键字)
  10. [C#]Attribute特性(3)——AttributeUsage特性和特性标识符