creator2.0.9版本在使用websocket的时候,模拟器上无法获得数据

——本人自学,娱乐向,能有大佬解答一下吗?这是websocket代码,在浏览器上可以正常运作,在模拟器上却不行,模拟上面也不报错

 coutNumber = 0;
 sock: WebSocket = null;
 currtime = 0;
 isDestroy = false;
 wsurl = null;
 handelerMessage = new Map();
 isZC = true;
 connectInit(url) {
   var p = new Promise((resolve, reject) => {
     this.wsurl = url;
     this.sock = new WebSocket(url);
     this.sock.onopen = () => {
       console.log("连接了");
       is_connected = true;
       this.coutNumber = 0;
       this.currtime = new Date().getTime();
       console.log("readyState:"+this.sock.readyState);
       resolve("ok");
     };
     this.sock.onerror = event => {
           is_connected = false;
           console.dir("err"+ event);
            resolve("ok");
   
     };
     this.sock.onclose = event => {
       console.log("close"+ event);
       is_connected = false;
       resolve("ok");
     
     };
     this.sock.onmessage = (e: MessageEvent) => {
          let msg = JSON.parse(e.data);
          if(msg.code == 6){
            //关闭网络,已经在线,保持唯一账号在线
             this.close();
             checkWeb.close();
            console.log(msg.msg);
            this.isZC =false;
            checkWeb.isZC = false;  
          }
     };
   });

   return p;
 }
 coutt = 0;
  jsonSend(msg, cabkc) {
   return new Promise((resolve, reject) => {
     if (msg == null || msg == undefined) {
       resolve(false);
     }
     if(msg.code!=5){
       console.log(msg.tag);
     }
     msg = JSON.stringify(msg);
     if (this.sock.readyState == WebSocket.OPEN) {
       const d = (e: MessageEvent) => {
         this.currtime = new Date().getTime();
         let msg = JSON.parse(e.data);
         this.handelerMessage.set(msg.tag, msg);
         if (cabkc != null) {
            this.sock.removeEventListener("message", d);
            cabkc(this.handelerMessage);
            resolve(true);
         }
       }
       this.sock.send(msg);//用log的方式,发现在这里就不走了,到底是什么情况啊!!!
       this.sock.addEventListener("message", d);
   
     } else { 
       resolve(false);
     }
   });
 }
 close() {
   return new Promise((resolve, reject) => {
     if (this.sock != null && this.sock.readyState != WebSocket.CLOSED) {
       this.sock.close();
       if (this.sock.readyState == WebSocket.CLOSED) {
         this.sock = null;
         is_connected = false;
         resolve("ok");
       }
     } else {
       resolve();
     }
   });
 }
} ```
`

* 文字缩进4格

`

send前确认一下ws的readyState状态

确认过了啊,有判断语句!

归档.zip (2.4 MB)我这边试了一下,没办法复现出来,这是我的测试用客户端以及服务器,你可以看一下。如果还有问题,最好可以提供一个工程

谢了大佬,原因我已经早到了,原来是creator不支持addEventListener()这个方法