Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 远程终结点处于状态[TEXT\u FULL\u WRITING]-websocket_Java_Angularjs_Real Time_Java Websocket - Fatal编程技术网

Java 远程终结点处于状态[TEXT\u FULL\u WRITING]-websocket

Java 远程终结点处于状态[TEXT\u FULL\u WRITING]-websocket,java,angularjs,real-time,java-websocket,Java,Angularjs,Real Time,Java Websocket,我在客户端有一个使用JavaWeb和angularJs的web应用程序。有实时数据发生在服务器上,我希望客户端(浏览器)在每次发生事情时都能更新 我目前正在为此使用web套接字,在这里我连接到服务器并通过“onMessage”方法接收数据 以下是代码的一部分: var ws = $websocket('ws://' + location.host + '/' + window.location.href.split('/')[3] + '/ws/rt'); ws.onMessage(

我在客户端有一个使用JavaWeb和angularJs的web应用程序。有实时数据发生在服务器上,我希望客户端(浏览器)在每次发生事情时都能更新

我目前正在为此使用web套接字,在这里我连接到服务器并通过“onMessage”方法接收数据

以下是代码的一部分:

 var ws = $websocket('ws://' + location.host + '/' +    window.location.href.split('/')[3] + '/ws/rt');
  ws.onMessage(function (event) {
     // code that updates the page
  }):
在服务器中,我调用sendText方法将数据发送到客户端

  Ws.ACTIVE_SESSIONS.entrySet().stream().forEach((session) -> {
            synchronized (LOCK) {
                session.getKey().getAsyncRemote().sendText(message);
            }
        }
    });
我发送的数据是由数据和图像组成的,因此数据量很大

我的问题是服务器有时会发送此异常,而客户端没有得到更新:

java.lang.IllegalStateException: The remote endpoint
was in state [TEXT_FULL_WRITING] which is an invalid state for called 
method
我已经将我的OnMessage方法更改为此,但它没有解决问题

   @OnMessage
   public void onMessage(String message, Session session) {
      ...
   }
这样做和避免这种例外的最佳方法是什么