当前位置: 首页 > 知识库问答 >
问题:

Tomcat、websocket和java

公良天逸
2023-03-14

嗨,伙计们正在使用Websocket和Tomcat8得到以下错误am。

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:1092)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachine.textStart(WsRemoteEndpointImplBase.java:1055)
    at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendString(WsRemoteEndpointImplBase.java:186)
    at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:37)
    at com.iri.monitor.webSocket.IRIMonitorSocketServlet.broadcastData(IRIMonitorSocketServlet.java:369)
    at com.iri.monitor.webSocket.IRIMonitorSocketServlet.access$0(IRIMonitorSocketServlet.java:356)
    at com.iri.monitor.webSocket.IRIMonitorSocketServlet$5.run(IRIMonitorSocketServlet.java:279)

共有1个答案

巫马盛
2023-03-14

您试图写入未处于就绪状态的websocket。websocket当前处于写入模式,您正试图向该websocket写入另一条消息,这将引发错误。使用Asyncwrite或as not这样的好做法Sleep可以防止这种情况发生。当websocket程序不是线程安全的时,通常也会引发此错误。

 类似资料:
  • 下面是我的ServerEndPoint类: 和我的javascript代码:

  • 我试图通过servlet实现一个web套接字。我的应用程序服务器是Tomcat7。 我可以找到使用类的示例。但是这个类在Tomcat8中被弃用并删除了。 我看到了另一种选择,那就是用下面的注释来注释类 null 任何hello world链接也将非常有帮助。 谢谢你。==================================================================

  • 你好,我被这个错误卡住了。我总是得到404错误,所有的stackoverflow主题没有帮助。

  • 我在为Tomcat服务器部署Spring guides中提供的Spring Boot+WebSocket+Stomp教程时遇到了一些麻烦 我正在使用gradle创建战争,其中我有以下依赖 基本上,我只添加了spring-boot-starter-tomcat依赖项以及war和idea插件。 代码可以在https://spring.io/guides/gs/messaging-stomp-webso

  • 本文向大家介绍Java后端Tomcat实现WebSocket实例教程,包括了Java后端Tomcat实现WebSocket实例教程的使用技巧和注意事项,需要的朋友参考一下 一.WebSocket简单介绍 WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。一开始的握手需要借助HTTP请求完成握手。   随着互联网的发展,传统的

  • 我正在使用tomcat 9.0。4和Java1.8。在同一个项目中,jersey提供了一个Web服务。我可以从webservice类中使用@Inject,没有任何问题。我正试图通过下面的websocketendpoint显示使注入工作。 这是我的CDI实现: 我得到的只是一个java。lang.NullPointerException。 我找到了这个功能请求。所以我认为注射仍然没有在tomcat中