2

我收到此错误:

DOM Invalidate exception 11 

从下面的代码,但我找不到原因。

/*This is little bit pseudo stylish coded so might have some 
syntax errors */

    var socket;
    var client = {
        connect: function(){
            socket = new WebSocket(mylocation);
            socket.onopen = this.open;
            socket.send = this.send;
        },
        open: function(){
            this.send("Sent from socket open function");   //works
            socket.send("Sent from socket open function");  //works
        },
        _send: function(){
            socket.send("Sent from send function");     //error
            this.send("Sent from send function");       //error
        }
    }

    client.connect();
    client._send();

    ----- ERROR DESCRIPTION --------
    //DOMException {message: "InvalidStateError: DOM Exception 11", 
    //name: "InvalidStateError", code: 11

我目前正在为服务器使用 Java Jetty Websocket。这个错误是什么意思?

4

2 回答 2

2

根据我的经验,这个错误通常意味着服务器很忙/或者现有的 websocket 连接被阻塞,并且不允许新的 websocket 连接。我不熟悉 Jetty,但是当第二个浏览器在现有连接关闭之前尝试连接时,我在由 uWSGI+gevent 组成的服务器上遇到同样的错误——它在任何给定时间最多允许一个 websocket 连接,它恰好得到这个错误。

于 2013-05-22T04:00:25.523 回答
0

这里有无限递归函数:

send: function(){
    socket.send("Sent from send function");     //error
    this.send("Sent from send function");       //error <--
}
于 2013-02-26T11:56:32.103 回答