socket.io 长链 后台实现实时推送消息
发布在经验and插件2017年11月1日view:721
在文章任何区域双击击即可给文章添加【评注】!浮到评注点上可以查看详情。

首先需要socket.io js包 http://pan.baidu.com/s/1pKERHf9

//js主动建立socket链接 ,链接上就会走 下面的connect 事件 var socket = io.connect('http://localhost');

//主动断开socket链接,断开后执行下面的disconnect事件 socket.disconnect()

enter image description here

/*连接socket服务器执行以下方法*/
socket.on('connect', function() {
    console.log("连接socket服务器");
});

/*断开socket服务器连接执行以下方法*/
socket.on('disconnect', function() {
    console.log("断开socket服务器连接");
});

/*接受服务器发布的消息*/
socket.on('message', function(data) {
    console.log(data);
    var result = eval('(' + data+ ')');
    //不同的数据不同的操作
    if(result.messageId == 1001){
        /*你有新短消息*/

    }else if(result.messageId == 1000){
        /*XX申请加您为好友*/

    }
});

网页建立socket链接 。有很多网页是打开新页target="_blank" 方式 那么:新页建立的socket链接会把之前页面的链接顶掉。

io.connect(url,{opt});

opt:

path:

reconnection是否自动重新连接(true)。

reconnectionDelay多长时间后建立一个新的连接(1000)。

reconnectionDelayMax重新连接的最大等待时间(5000)。每一个尝试重新连接都由reconnectionDelay在指定的数量上增加。

timeout当一个connect_error和connect_timeout事件被发送之前的连接超时。

作者:Shmily落墨 链接:http://www.jianshu.com/p/76ccda51a831 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
发表评论
9个月前
添加了一枚【评注】:11
9个月前
添加了一枚【评注】:11
WRITTEN BY
古道川
技法无高低、功力有深浅。
TA的新浪微博
PUBLISHED IN

我的收藏