websocket对象上的InvalidStateError

Ste*_*ino 6 javascript websocket

我刚刚开始学习websockets,我得到一个奇怪的错误:

<script type="text/javascript">
    window.onload = function(){
        var service = new WebSocket("ws://localhost:8080/websocket/test"); 
        service.onmessage = function(event){
            alert("message"); 
        } 
        service.onopen = function(){
            service.send("hello!");
        } 
        service.onclose = function(){
            alert("closed"); 
        } 
        service.onerror = function(){
            alert("error"); 
        }

        service.send("test");
        service.close();
    }

</script>
Run Code Online (Sandbox Code Playgroud)

在线上:

            service.send("test");
Run Code Online (Sandbox Code Playgroud)

我明白了:

InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable
Run Code Online (Sandbox Code Playgroud)

我错过了重要的事吗?

Ray*_*yon 12

打开连接后,即可开始向服务器传输数据.

等待onopen活动!

window.onload = function() {
  var service = new WebSocket("wss://echo.websocket.org");
  service.onmessage = function(event) {
    alert("onmessage event: "+event.data);
  }
  service.onopen = function() {
    service.send("test"); //Will work here!
    //^^^^^^^^^^^^^^^^^
    service.send("hello!");
  }
  service.onclose = function() {
    alert("closed");
  }
  service.onerror = function() {
    alert("error");
  }

  //Can't close while a connection is still being established.
  //service.close();
}
Run Code Online (Sandbox Code Playgroud)