web前端socket封装库--giraffe

摘要:

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

原文地址:https://www.cnblogs.com/xiyangbaixue/p/5218674.html