Java WebSockets: The remote endpoint was in state [TEXT_FULL_WRITING]

报错信息:

java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.checkState(WsRemoteEndpointImplBase.java:1015)
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.textStart(WsRemoteEndpointImplBase.java:978)
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:161)
at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)
解决方案:

1>错误的方式:

@OnMessage
public String onMessage(String message, Session session) {
   ...
   return message;
}
2>正确的方式:

@OnMessage
public void onMessage(String message, Session session) {
   ...
}
*还需注意使用websocket时候session.getBasicRemote()与session.getAsyncRemote()的区别

你可能感兴趣的:(技术)