【报错】IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid

📅 发布时间:2026/9/18 13:10:27
【报错】IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid
一、报错内容java.lang.IllegalStateException: The remote endpoint wasinstate[TEXT_FULL_WRITING]whichis an invalid stateforcalled method at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.checkState(WsRemoteEndpointImplBase.java:1234)at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.textStart(WsRemoteEndpointImplBase.java:1196)at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:190)at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)at com.xafande.atc.aftnsocket.ws.WebSocketServer.sendMessage(WebSocketServer.java:167)at com.xafande.atc.aftnsocket.ws.WebSocketServer.sendMessageValue(WebSocketServer.java:87)at com.xafande.atc.aftnsocket.ws.WebSocketServer.onOpen(WebSocketServer.java:117)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:566)at org.apache.tomcat.websocket.pojo.PojoEndpointBase.doOnOpen(PojoEndpointBase.java:65)at org.apache.tomcat.websocket.pojo.PojoEndpointServer.onOpen(PojoEndpointServer.java:64)at org.apache.tomcat.websocket.server.WsHttpUpgradeHandler.init(WsHttpUpgradeHandler.java:133)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:914)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.base/java.lang.Thread.run(Thread.java:834)二、解决思路数据同步失败这是一般最普遍的情况可以对业务报错处加锁确保数据传输的同步。连接超时网络连接不稳定或网络延迟导致连接超时。三、报错原因报错前session.getAsyncRemote().sendText(message);//异步发送更改为synchronized(session){session.getBasicRemote().sendText(message);}----------------------------------------------------------------------本文参考The remote endpoint was…