| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | Namespace.register("U.CV");//#region socket消息区域//设置文件读取U.CV.UL = function (URL, UOE, UEE, UME) {    return new U.CV.ULinit(URL, UOE, UME).create(UME);}//获取文件设置U.CV.ULinit = function (URL, UOE, UME) {    this.USK; this.URL = URL || window.location.protocol + "//" + window.location.host; this.UOE = UOE;}//文件使用方法U.CV.ULinit.prototype = {    sockets: {},    events: ["connect", "connect_failed", "error", "reconnecting", "reconnect", "disconnect"], //事件源    create: function (UME) { //创建socketio        if (this.sockets[this.URL]) { return this.sockets[this.URL]; }        else {            U.MD.DynamicLoad("http://socketio.1473.cn/socket.io/socket.io.js", "js", U.M.apply(this, [[this.Asyncreate, [UME]]])); //创建socketio文件            return this;        }    },    Asyncreate: function (UME) { //创建连接socket连接        var i, j, _UOE = this.UOE, _UEE = this.UEE, _UDE = this.events, _USE = this.USK = io.connect(this.URL, UME || { "reopen delay": 3000, "connect timeout": 5000, "try multiple transports": true, "reconnect": true, "max reconnection attempts": 10 }); //生成socket通道        for (i = 0; i < _UDE.length; i++) { _USE.on(_UDE[i], this[_UDE[i]]); } //事件监视        for (i in _UOE) { if (_UOE.hasOwnProperty(i)) { _USE.on(i, U.M.apply(this, [[this.asyn, [_UOE[i]]]])); } } //添加消息接收设置        for (i = 0; i < _UEE.length; i++) { this.emit.apply(this, U.Ut.isArguments(_UEE[i]) ? _UEE[i] : [_UEE[i]]); } this.UEE = []; //设置socket连接    },    abort: function () { //关闭连接        this.USK.disconnect();    },    asyn: function (UDE) { //获取消息接收        var _UAE = Array.prototype.slice.call(arguments); _UAE.splice(0, 1);        (UDE) && (UDE.apply(null, _UAE)); //接收消息回调    },    on: function () { //绑定值        var _UDE = arguments, _USE = this.USK;        if (_UDE.length > 1) { _USE.on(_UDE[0], U.M.apply(this, [[this.on, [_UDE[1]]]])); } //设置        else if (U.Ut.isObject(_UDE)) { _UDE.Each(function (UVE, UIE) { _USE.on(_UIE, U.M.apply(this, [[this.on, [asyn]]])); }) }    },    emit: function (UME) { //发送消息        var i, _USE = this.USK;        if (_USE) { if (U.Ut.isString(UME)) { _USE.emit.apply(_USE, arguments); } else { _$(UME).Each(function (UDE, UIE) { _USE.emit(UIE, UDE[UIE]); }); } } //发送消息        else { (!this.UEE) && (this.UEE = []); this.UEE.push(U.Ut.isString(UME) ? arguments : UME); } return this; //等待消息发送    },    connect: function (UE) { //连接成功    },    "connect_failed": function (UE) { //无法连接到服务器    },    error: function () { //连接失败    },    reconnecting: function () { //不断的连接服务器    },    reconnect: function () { //重连成功    },    disconnect: function () { //退出连接    }};//文件使用方法//U.M.Setprototype(U.CV.ULinit, {//    sockets: {},//    events: ["connect", "connect_failed", "error", "reconnecting", "reconnect", "disconnect"], //事件源//    create: function (UME) { //创建socketio//        if (this.sockets[this.URL]) { return this.sockets[this.URL]; }//        else {//            U.MD.DynamicLoad("http://socketio.1473.cn/socket.io/socket.io.js", "js", U.M.apply(this, [[this.Asyncreate, [UME]]])); //创建socketio文件//            return this;//        }//    },//    Asyncreate: function (UME) { //创建连接socket连接//        var i, j, _UOE = this.UOE, _UEE = this.UEE, _UDE = this.events, _USE = this.USK = io.connect(this.URL, UME || { "reopen delay": 3000, "connect timeout": 5000, "try multiple transports": true, "reconnect": true, "max reconnection attempts": 10 }); //生成socket通道//        for (i = 0; i < _UDE.length; i++) { _USE.on(_UDE[i], this[_UDE[i]]); } //事件监视//        for (i in _UOE) { if (_UOE.hasOwnProperty(i)) { _USE.on(i, U.M.apply(this, [[this.asyn, [_UOE[i]]]])); } } //添加消息接收设置//        for (i = 0; i < _UEE.length; i++) { this.emit.apply(this, U.Ut.isArguments(_UEE[i]) ? _UEE[i] : [_UEE[i]]); } this.UEE = []; //设置socket连接//    },//    abort: function () { //关闭连接//        this.USK.disconnect();//    },//    asyn: function (UDE) { //获取消息接收//        var _UAE = Array.prototype.slice.call(arguments); _UAE.splice(0, 1);//        (UDE) && (UDE.apply(null, _UAE)); //接收消息回调//    },//    on: function () { //绑定值//        var _UDE = arguments, _USE = this.USK;//        if (_UDE.length > 1) { _USE.on(_UDE[0], U.M.apply(this, [[this.on, [_UDE[1]]]])); } //设置//        else if (U.Ut.isObject(_UDE)) { _UDE.Each(function (UVE, UIE) { _USE.on(_UIE, U.M.apply(this, [[this.on, [asyn]]])); }) }//    },//    emit: function (UME) { //发送消息//        var i, _USE = this.USK;//        if (_USE) { if (U.Ut.isString(UME)) { _USE.emit.apply(_USE, arguments); } else { _$(UME).Each(function (UDE, UIE) { _USE.emit(UIE, UDE[UIE]); }); } } //发送消息//        else { (!this.UEE) && (this.UEE = []); this.UEE.push(U.Ut.isString(UME) ? arguments : UME); } return this; //等待消息发送//    },//    connect: function (UE) { //连接成功//    },//    "connect_failed": function (UE) { //无法连接到服务器//    },//    error: function () { //连接失败//    },//    reconnecting: function () { //不断的连接服务器//    },//    reconnect: function () { //重连成功//    },//    disconnect: function () { //退出连接//    }//});//#endregion
 |