服务器端如何主动关闭WebSocket连接?

大狗狗 2020-11-02 12:50:54
服务器:tomcat7.0.34
客户端websocket对象有close方法,如果网络通畅,服务器端会触发onclose方法。请问一下,如果不是由客户端发起关闭请求,服务器端如何主动断开连接呢?(及时充分释放连接占用资源)
...全文
11150 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
A tusu 2022-02-16
  • 打赏
  • 举报
回复

的风格

qkniit 2020-11-08
  • 打赏
  • 举报
回复
心跳 可以实现, 不过心跳也会耗费 资源
大狗狗 2020-11-03
  • 打赏
  • 举报
回复
如果客户端网络断开,服务器联系不上客户端,那么服务器端如何释放连接?服务器端WebSocketServlet肯定有个超时回收机制,程序员无需操心。但如果不等到超时,程序员如何主动关闭连接呢?似乎找不到好的方法。只有一篇参考文章:https://blog.csdn.net/binlixia/article/details/52767635但里的办法似乎不怎么靠谱。
qybao 2020-11-02
  • 打赏
  • 举报
回复
没看明白?底层是扩展tcp协议的,支持双向通信,你的服务器端主动发起close不就好了吗?还是说应为网络问题,close没回应造成等待客户端回应?
Dear_Yuyu 2021-09-08
  • 举报
回复
@qybao 为什么我调用了close客户端还能发送请求啊
A tusu 2022-02-16
  • 举报
回复
@Dear_Yuyu onClose是关闭连接后回调用的,不知道你是不是用的这个,顺便问一下,解决了吗,我也不知道怎么主动关闭
super卡卡 2022-07-22
  • 举报
回复
@A tusu 同问,我也不知道怎么主动关闭服务端

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧