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()));
    }

  • 相关阅读:
    Linux驱动学习时间、延迟及延缓操作3
    Windows 系统下Git安装图解
    [整理]Android Intent和PendingIntent的区别
    C++篇实现MD5算法
    重温数据结构——(2)
    重温数据结构——(1)
    红黑树——1.介绍与查找
    Ubuntu Telnet 服务
    文本框垂直居中
    文本框透明无边框
  • 原文地址:https://www.cnblogs.com/interdrp/p/4866129.html
Copyright © 2011-2022 走看看