异步通信atmosphere.js

之前的项目,由于要照顾低端机型不支持websocket进行通信,选择了atmosphere.js
在不支持websocket的环境下,使用long-polling长轮询方式进行,很好用。特做个笔记。


$(function () {
   var request = {
        url: ajaxServerUrl + '/chat/doctor/' + data.relationId,
        contentType: "application/json",
        logLevel: 'debug',
        transport: 'websocket',
        trackMessageLength: true,
        reconnectInterval: 5000,
        fallbackTransport: 'long-polling'
    };
   request.onOpen = function(response) {
        uuid = response.request.uuid;
        $.atmosphere.subscribe(request).push(atmosphere.util.stringifyJSON({
            clientId: localStorage.id,
            type: '2',
            uuid: uuid
        }));
        console.log("聊天开始了:"+localStorage.id);
  }; 
   request.onMessage = function (response) {//监听
         console.log(response.responseBody);
         var msgObj = atmosphere.util.parseJSON(response.responseBody);
   };
   request.onClose = function(response) {
    //          subSocket.push(atmosphere.util.stringifyJSON({author: author, message: 'disconnecting'}));
};

request.onError = function(response) {
    logged = false;
};

request.onReconnect = function(request, response) {
    // content.html($('<p>', {text: 'Connection lost, trying to reconnect. Trying to reconnect ' + request.reconnectInterval}));
    // input.attr('disabled', 'disabled');
};
   $.atmosphere.subscribe(request);//发送
}

参考js:http://async-io.org/tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值