U.CV.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. Namespace.register("U.CV");
  2. //#region socket消息区域
  3. //设置文件读取
  4. U.CV.UL = function (URL, UOE, UEE, UME) {
  5. return new U.CV.ULinit(URL, UOE, UME).create(UME);
  6. }
  7. //获取文件设置
  8. U.CV.ULinit = function (URL, UOE, UME) {
  9. this.USK; this.URL = URL || window.location.protocol + "//" + window.location.host; this.UOE = UOE;
  10. }
  11. //文件使用方法
  12. U.CV.ULinit.prototype = {
  13. sockets: {},
  14. events: ["connect", "connect_failed", "error", "reconnecting", "reconnect", "disconnect"], //事件源
  15. create: function (UME) { //创建socketio
  16. if (this.sockets[this.URL]) { return this.sockets[this.URL]; }
  17. else {
  18. U.MD.DynamicLoad("http://socketio.1473.cn/socket.io/socket.io.js", "js", U.M.apply(this, [[this.Asyncreate, [UME]]])); //创建socketio文件
  19. return this;
  20. }
  21. },
  22. Asyncreate: function (UME) { //创建连接socket连接
  23. 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通道
  24. for (i = 0; i < _UDE.length; i++) { _USE.on(_UDE[i], this[_UDE[i]]); } //事件监视
  25. for (i in _UOE) { if (_UOE.hasOwnProperty(i)) { _USE.on(i, U.M.apply(this, [[this.asyn, [_UOE[i]]]])); } } //添加消息接收设置
  26. for (i = 0; i < _UEE.length; i++) { this.emit.apply(this, U.Ut.isArguments(_UEE[i]) ? _UEE[i] : [_UEE[i]]); } this.UEE = []; //设置socket连接
  27. },
  28. abort: function () { //关闭连接
  29. this.USK.disconnect();
  30. },
  31. asyn: function (UDE) { //获取消息接收
  32. var _UAE = Array.prototype.slice.call(arguments); _UAE.splice(0, 1);
  33. (UDE) && (UDE.apply(null, _UAE)); //接收消息回调
  34. },
  35. on: function () { //绑定值
  36. var _UDE = arguments, _USE = this.USK;
  37. if (_UDE.length > 1) { _USE.on(_UDE[0], U.M.apply(this, [[this.on, [_UDE[1]]]])); } //设置
  38. else if (U.Ut.isObject(_UDE)) { _UDE.Each(function (UVE, UIE) { _USE.on(_UIE, U.M.apply(this, [[this.on, [asyn]]])); }) }
  39. },
  40. emit: function (UME) { //发送消息
  41. var i, _USE = this.USK;
  42. if (_USE) { if (U.Ut.isString(UME)) { _USE.emit.apply(_USE, arguments); } else { _$(UME).Each(function (UDE, UIE) { _USE.emit(UIE, UDE[UIE]); }); } } //发送消息
  43. else { (!this.UEE) && (this.UEE = []); this.UEE.push(U.Ut.isString(UME) ? arguments : UME); } return this; //等待消息发送
  44. },
  45. connect: function (UE) { //连接成功
  46. },
  47. "connect_failed": function (UE) { //无法连接到服务器
  48. },
  49. error: function () { //连接失败
  50. },
  51. reconnecting: function () { //不断的连接服务器
  52. },
  53. reconnect: function () { //重连成功
  54. },
  55. disconnect: function () { //退出连接
  56. }
  57. };
  58. //文件使用方法
  59. //U.M.Setprototype(U.CV.ULinit, {
  60. // sockets: {},
  61. // events: ["connect", "connect_failed", "error", "reconnecting", "reconnect", "disconnect"], //事件源
  62. // create: function (UME) { //创建socketio
  63. // if (this.sockets[this.URL]) { return this.sockets[this.URL]; }
  64. // else {
  65. // U.MD.DynamicLoad("http://socketio.1473.cn/socket.io/socket.io.js", "js", U.M.apply(this, [[this.Asyncreate, [UME]]])); //创建socketio文件
  66. // return this;
  67. // }
  68. // },
  69. // Asyncreate: function (UME) { //创建连接socket连接
  70. // 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通道
  71. // for (i = 0; i < _UDE.length; i++) { _USE.on(_UDE[i], this[_UDE[i]]); } //事件监视
  72. // for (i in _UOE) { if (_UOE.hasOwnProperty(i)) { _USE.on(i, U.M.apply(this, [[this.asyn, [_UOE[i]]]])); } } //添加消息接收设置
  73. // for (i = 0; i < _UEE.length; i++) { this.emit.apply(this, U.Ut.isArguments(_UEE[i]) ? _UEE[i] : [_UEE[i]]); } this.UEE = []; //设置socket连接
  74. // },
  75. // abort: function () { //关闭连接
  76. // this.USK.disconnect();
  77. // },
  78. // asyn: function (UDE) { //获取消息接收
  79. // var _UAE = Array.prototype.slice.call(arguments); _UAE.splice(0, 1);
  80. // (UDE) && (UDE.apply(null, _UAE)); //接收消息回调
  81. // },
  82. // on: function () { //绑定值
  83. // var _UDE = arguments, _USE = this.USK;
  84. // if (_UDE.length > 1) { _USE.on(_UDE[0], U.M.apply(this, [[this.on, [_UDE[1]]]])); } //设置
  85. // else if (U.Ut.isObject(_UDE)) { _UDE.Each(function (UVE, UIE) { _USE.on(_UIE, U.M.apply(this, [[this.on, [asyn]]])); }) }
  86. // },
  87. // emit: function (UME) { //发送消息
  88. // var i, _USE = this.USK;
  89. // if (_USE) { if (U.Ut.isString(UME)) { _USE.emit.apply(_USE, arguments); } else { _$(UME).Each(function (UDE, UIE) { _USE.emit(UIE, UDE[UIE]); }); } } //发送消息
  90. // else { (!this.UEE) && (this.UEE = []); this.UEE.push(U.Ut.isString(UME) ? arguments : UME); } return this; //等待消息发送
  91. // },
  92. // connect: function (UE) { //连接成功
  93. // },
  94. // "connect_failed": function (UE) { //无法连接到服务器
  95. // },
  96. // error: function () { //连接失败
  97. // },
  98. // reconnecting: function () { //不断的连接服务器
  99. // },
  100. // reconnect: function () { //重连成功
  101. // },
  102. // disconnect: function () { //退出连接
  103. // }
  104. //});
  105. //#endregion