zoukankan      html  css  js  c++  java
  • java.lang.IllegalStateException: The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method 解决办法

    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)

    Bad:

    @OnMessage
    public String onMessage(String message, Session session) {
       ...
       return message;
    }
    

    Good:

    @OnMessage
    public void onMessage(String message, Session session) {
       ...
    }
    再次测试
    public  void  handleTextMessage(WebSocketSession session,TextMessage message){
        ...
    }
    改为
    public synchronized void  handleTextMessage(WebSocketSession session,TextMessage message){
        ...
    }
    或者
    String websocketsesssion_id = map_id.get(username);
    WebSocketSession wss = map_users.get(websocketsesssion_id);
    synchronized(wss) {
     wss.sendMessage(new TextMessage(new java.util.Date()));
    }

  • 相关阅读:
    mysql 存储过程中的 prepare语句(存储过程中动态增减表字段)
    MYSQL创建分区时候报错
    mysql存储过程调试方法
    磁力块[分块]
    区间最优覆盖问题[差分]
    区间最优覆盖问题[差分]
    导弹防御[差分]
    导弹防御[差分]
    CF10D LCIS[动态规划]
    CF10D LCIS[动态规划]
  • 原文地址:https://www.cnblogs.com/interdrp/p/4866129.html
Copyright © 2011-2022 走看看