为多个webscoket连接建立发送属性

时间:2015-10-02 21:03:07

标签: javascript websocket

在下面的脚本中,我尝试打开十个与服务器的websocket连接:

 var webscd=[];
 function initweb(){

   for (var c=0; c <10; c++){

      webscd[c]=new WebSocket(wsadress);

      webscd[c].onopen=function(evt){
        var binary = new Uint8Array(2);
        binary[0]=1;
        binary[1]=2;
        webscd[c].send(binary.buffer);                  
      };
      webscd[c].onclose=function(evt){};
      webscd[c].onmessage=function(evt){};
      webscd[c].onerror=function(evt){};
    }

} 
initweb();

但是这个脚本会抛出以下错误

  

'未捕获的TypeError:无法读取未定义'

的属性'send'

。我该怎么办?

1 个答案:

答案 0 :(得分:1)

我找到了一种方法,可以在没有封闭的情况下完成它。

function create_ws() {
  var ws=new WebSocket("ws://127.0.0.1:1234");
  ws.onopen=function(evt){
    var binary = new Uint8Array(2);
    binary[0]=1;
    binary[1]=2;
    ws.send(binary.buffer);                  
  };
  ws.onclose=function(evt){};
  ws.onmessage=function(evt){};
  ws.onerror=function(evt){};
}

var webscd = [];

for(var i = 0; i < 10; i++) {
  webscd.push(create_ws());
}