cocos-js 中websocket 的使用单例

Network.js

var WebSocket = WebSocket || window.WebSocket || window.MozWebSocket;

var Network = (function(){

                  var instance = null;

                   function getNetworkInstance(){

                                 var networkInstance = {

                                                socket:null,

                                                isInit:false,

                                                 initNetwork:function(){

                                                  cc.log('Network initSocket...'); 

                                                  this.host = "ws://192.168.33.192:8080";

                                                  this.testhost = "ws://echo,websocket.org";

                                                   this.socket = new WebSocket(this.host);

                                                   var self = this;

                                                    this.socket.onopen = function(evt){

                                                                           cc.log("Network onopen....");

                                                                            util.outObject(evt);

                                                                             self.isInit = true;

                                                     };

                                                     this.socket.onmessage = function(evt){

                                                                               var data = evt.data;

                                                                                cc.log("Network onmessage....");

                                                                                 utils.outObj(evt);

                                                      };

                                                      this.socket.onerror = function(evt){

                                                                                  cc.log("Network onerror.....");

                                                                                   utils.outObj(evt);

                                                      } ; 

                                                      this.socket.onclose = function(evt){

                                                                                      cc.log("Network onclose....");

                                                                                      utils.outObj(evt);

                                                                                       this.isInit = false;

                                                      };         

                              },

                             send:function(data){

                                           if(!this.isInit){

                                                       cc.log("Network is not inited....");

                                           }else if(this.socket.reayState == WebSocket.OPEN){

                                                        cc.log("Network send.."+data);

                                                        this.socket.send(data);

                                            }else {

                                                         cc.log("Network WebSocket readyState :"+this.socket.readyState);

                                             }

                             },

                             close:function(){

                                       if(this.socket){

                                                cc.log("Network close ...");

                                                 this.socket.close();

                                                  this.socket = null;

                                        }

                             }

                };

                return networkInstance;

};

 

return {

          getInstance:function(){

                           if(instance === null){

                                          instance = getNetworkInstance();

                           }

                            return instance;

            }

};

})();

相关地址如下:

https://blog.csdn.net/xufeng0991/article/details/44939149

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值