websocket服务端如何自动断开连接?

  • spring-boot-websocket

spring-boot-websocket stomp的方式实现websocket。

  • 业务场景

页面扫码付款成功后,后端websocket通知前端页面跳转。

  • 问题

2分钟内未付款自动关闭二维码,后但关闭连接, 那么后端服务如何实现自动关闭连接呢?

阅读 20.7k
4 个回答

websocket 是在 tcp 协议基础上扩展的通信协议,所以支持双向通信。

既然打算在服务端做计时,可在服务器在未付款2分钟后发送一个关闭连接的请求给客户端,客户端就会自动关闭并触发 websocketonclose 事件,websocket 连接关闭。

具体服务器代码如何写,那要看你的服务端 websocket 是如何实现的?正常自行实现的服务端,仅需要发送 0x8 的控制帧给客户端,客户端过一会儿就关闭了。

为何不考虑,前端js定时2分钟,到时间后还没收到付款成功就直接跳走呢?

没用过大java,试试是否可以给客户端一个close的控制消息。

新手上路,请多包涵

session.close();

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进