自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

houbin0912的博客

万物皆对象

  • 博客(5)
  • 问答 (1)
  • 收藏
  • 关注

转载 tomcat websocket 并发问题解决(四)

又产生的问题自从上次做过优化之后,貌似程序跑的还行,但是,最近发现日志中有报这样的错:java.lang.IllegalStateException: The remote endpoint was in state [TEXT_PARTIAL_WRITING] which is an invalid state for called method at org.apache.tomcat.websocket.WsRemoteEndpointImplBase$StateMachin

2020-12-11 17:13:50 1744

转载 tomcat websocket 并发问题解决(三)

其实这个只是解决这个问题时引出来的知识点,自己顺带看了代码而已,不过我还是厚着脸皮写在一个系列了。Spring 的解决方案Spring 的解决方案是把原来的 WebSocketSession 封了一层,即org.springframework.web.socket.handler.ConcurrentWebSocketSessionDecorator,下面我们就看看大厂是怎么做的。类成员首先来看一下这个类中都有哪些属性 /** 这两个限制条件默认值参见 - org..

2020-12-11 17:12:46 938

转载 tomcat websocket 并发问题解决(二)

现在的问题现在问题回到最开始了,上一篇文章说过,因为 tomcat 的 session.sendMessage() 方法在并发环境下会抛出异常,我们为了保证程序的正确性,在 session 上加了同步限制。然而这种做法会因对 session 的竞争导致所有的消息事实上是同步进行的,系统中的全部消息形成了一个超长队列,造成了性能上的问题,下边我就讲讲我的解决思路和方法。解决思路首先,我想到的有两点:session.sendMessage() 方法仅提供了最小的线程安全保证,同时发送多条消息时虽

2020-12-11 17:11:33 1195

转载 tomcat websocket 并发问题解决(一)

工作这么多年了,从来没写过博客,2018 年打算改变一下自己,于是打算平时工作解决问题后整理一下,写成博客发出来,这个想法有一段时间了,但是因为拖延症,所以今天才写,希望这是一个好的开始。问题起源公司应用内有一个基于websocket的聊天室功能,一直有用户反应高峰时段聊天信息延迟的厉害,终于找时间抽空解决了一下。首先通过日志发现,聊天室/直播间内用户稍微多一点的情况下(30-50人),广播一条消息就会非常耗时,常常达到 10-20s检查代码发现 SessionUtil 的 sendMess

2020-12-11 17:09:45 1327

转载 websocket error code 错误码说明 (CloseEvent事件说明)

CloseEvent会在连接关闭时发送给使用WebSockets的客户端. 它在WebSocket对象的onclose事件监听器中使用.构造器EDITCloseEvent()创建一个CloseEvent.属性EDIT该接口也继承了其父类Event的属性.CloseEvent.code只读返回一个 unsigned short 类型的数字, 表示服务端发送的关闭码, 以下为已分配的状态码.状态码 名称 描述 0–999 保留...

2020-12-08 19:06:11 12464

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除