Java 远程终结点处于状态[TEXT\u FULL\u WRITING]-websocket
我在客户端有一个使用JavaWeb和angularJs的web应用程序。有实时数据发生在服务器上,我希望客户端(浏览器)在每次发生事情时都能更新 我目前正在为此使用web套接字,在这里我连接到服务器并通过“onMessage”方法接收数据 以下是代码的一部分: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(
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) {
...
}
这样做和避免这种例外的最佳方法是什么