使用websocket发现的坑:

The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method
 websocket推送数据的方法有:

session.getBasicRemote().sendText(message);  //同步发送
session.getAsyncRemote().sendText(message); //异步发送
经过测试,在高并发的情况下,两种发送方法都会抛出上面的异常。原因是多个线程同时使用同一session发送的原因。

做如下修改后:

synchronized(session){
 
    session.getAsyncRemote().sendText(message);
 
}
经测试异步发送还是会抛出上述异常,同步不会出现。猜想:异步应该是new一个线程去发送,即使使用synchronized同样会出现两个session同时被不同的线程操作的时机。

决定使用:

synchronized(session){session.getBasicRemote().sendText(message);}

//在网络非常好的情况下。多线程同一个session发送数据

150ms/条的情况下没有出现上述异常

The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for called method相关推荐

  1. WebSocket异常:The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for calle

    WebSocket异常:The remote endpoint was in state [TEXT_FULL_WRITING] which is an invalid state for calle ...

  2. RMI non-JRMP server at remote endpoint

    RMI non-JRMP server at remote endpoint 又是一个jmx问题 jmx明明端口占用了, 而且相关java进程也起来了, 为什么会不能通过jconsole访问jmx呢? ...

  3. java state用法_Java状态模式(State模式)

    State的定义:不同的状态,不同的行为:或者说,每个状态有着相应的行为. 何时使用状态模式State模式在实际使用中比较多,适合"状态的切换".因为我们经常会使用If elsei ...

  4. non-JRMP server at remote endpoint

    #在相应的domain的domain.xml文件添加下面红色设置,并重启domain <admin-service system-jmx-connector-name="system& ...

  5. 服务中没有ASP.net State service 状态服务 (ASP.NET state server)

    Windows7\8 装完后,服务中没有ASP.net状态服务 (ASP.NET state server) 没有找到具体的解决办法,有遇到同样问题的吗? 装IIS就行了,步骤是: 进入控制面板--- ...

  6. 【Flink】Flink keyed State多年的误解 以及 Keyed state redistribute

    文章目录 1.概述 2. Keyed state redistribute 3.疑问 1.概述 首先说说我对flink key state 多年的误解.以前我一直以为key State是类似这样的 假 ...

  7. 小程序websocket java_微信小程序websocket java获取不到data

    在使用java作为后台测试微信小程序时,发现: 1.后台中ServerHttpRequest request中的session是空的,前端通过wx.connectSocket传递的data也没看到. ...

  8. websocket传输数据大小限制_踩踏websocket:发送缓冲区大小超过允许的限制

    在客户端我使用Stomp进行websocket连接,服务器端使用 Spring 4 客户端我做了配置 var socket = new SockJS(urlBase + "/" + ...

  9. vvvvvvvvvvvvvvvvvvvvvvvvv

    Java Concurrency In Practice Brian Göetz Tim Peierls Joshua Bloch Joseph Bowbeer David Holmes Doug L ...

最新文章

  1. 【优化3】非线性优化
  2. Windows 7安装MySQL最后一步提示错误“mysql 终结点映射器中没有更多的终结点可用的” 解决方法...
  3. 2015年秋季个人阅读计划
  4. Java 获取文件目录最终的修改时间
  5. 排序算法 -- 待增加
  6. css3 shapes是什么意思,CSS Shapes有哪些让人兴奋之处
  7. php php_strip_whitespace,php strip_whitespace函数怎么用
  8. 风吹雨PHP多应用授权系统【开源】
  9. excel vba saveas 另存为使用方法
  10. oracle数据库的使用
  11. Android7.0 PowerManagerService(4) Power按键流程
  12. html如何适配设备高度,css怎样自适配屏幕高度?
  13. 日系插画学习笔记(七):日系角色脸部画法-3表情
  14. python pygame 简单小游戏
  15. 综合架构web服务之nginx详解
  16. 分享两个苹果cms10采集新闻和明星接口接口
  17. html视频文件转换成视频,Amazing Video to HTML5 Converter(视频到HTML5转换器) V1.7.0 官方版...
  18. 计算机无法共享磁盘分区,win7怎么共享电脑C盘,D盘,E盘,F盘,桌面-win7磁盘共享,win7磁盘共享灰色...
  19. sqlserver excel导入数据时有null,为空值
  20. UVALive 7139 - Rotation

热门文章

  1. python混合asp_用python实现面向对象的ASP程序实例
  2. python函数递归求和详解_Python 递归函数详解及实例
  3. 广告流量分析之评价指标的选择(一)
  4. fit_generator生成的history显示 key_error,并且没有loss 和 val_accuracy
  5. 蓝桥杯 基础练习 矩形面积交
  6. 怎么调出全局搜索_局部静态变量只能初始化一次?它是怎么实现的
  7. oracle清空数据库命令行,使用命令行手动卸载Oracle Database 11gR2
  8. php网页输入框,php网页的输入框显示中文异常
  9. SQL Server 2019安装教程(图文)
  10. 正则表达式 —— 非捕获元