频繁创建websocket会导致后端很多僵尸session吗?

后端使用 springboot ,前端页面定时检测 websocket 是否在线,如果不在线则 new WebSocket(url),如果断线很频繁会不会导致后端有很多僵尸 session 进而导致内存泄漏?如果有这种问题要如何解决?

阅读 2.4k
2 个回答

后端

@ServerEndpoint("/websocket/{name}")
@OnOpen
public void onOpen(Session session, @PathParam(value = "name") String name)

前端

ws = new WebSocket("ws://127.0.0.1:8080/websocket/" + name);

以name为key,session为value存放至map中,onOpen先根据name getSession如果有,session.close()关闭之前的连接,再放到map中

尝试下绑定websocket的onerror或closeg事件

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