下载地址:
https://code.google.com/archive/p/jquery-websocket/source
修改为:
(function($){
$.extend({
websocketSettings: { open: function(){}, close: function(){}, message: function(){}, options: {}, events: {} },
websocket: function(url, s) { var ws = WebSocket ? new WebSocket( url ) : { send: function(m){ return false }, close: function(){} }; ws._settings = $.extend($.websocketSettings, s); $(ws) .bind('open', $.websocketSettings.open) .bind('close', $.websocketSettings.close) .bind('message', $.websocketSettings.message) .bind('message', function(e){ //var m = $.evalJSON(e.originalEvent.data); var m = eval("(" + (e.originalEvent.data) + ")"); var h = $.websocketSettings.events[m.cmd]; if (h) h.call(this, m); }); //ws._settings = $.extend($.websocketSettings, s); ws._send = ws.send; ws.send = function(cmd, data) { var m = { cmd: cmd }; m = $.extend(true, m, $.extend(true, {}, $.websocketSettings.options, m)); if (data) m['data'] = data; //return this._send($.toJSON(m)); var str = 'CMD ' + JSON.stringify(m); return this._send(str); } $(window).unload(function(){ ws.close(); ws = null }); return ws; } }); })(jQuery);
使用:
var ws;
function connectSocketServer(msgBord) {
var messageBoard = $('#' + msgBord);
ws = $.websocket('ws://{0}'.format(websocketserver), {
open: function () {
messageBoard.append('* 已连接<br />');
},
close: function () {
messageBoard.append('* 连接已断开<br />');
},
events: {
log: function (e) {
var session = e.data.sessionid;
$.post('getcuruser', function (data) {
accecpResult(data, function () {
ws.send('log', { username: data.data.name, realname: data.data.realname });
ws.send('listuser', { });
})
});
},
userlist: function (e) {
console.log(e);
}
}
});
}