pm2的cluster模式下如何使socket.io的前端多个连接保持会话不会被关闭?

发布于 2022-09-03 23:42:11 字数 253 浏览 13 评论 0

学node不久,本来单个连接前台用socket.io做websocket连接和事件监听没啥问题,但如果用pm2的cluster开多个进程/线程模式来处理前台请求的时候控制台就会出现

failed: Connection closed before receiving a handshake response

如何优雅的解决?
ps.不太想用nginx做proxy加后台多个process不同端口的模式。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

秋叶绚丽 2022-09-10 23:42:11
  1. 放弃Long-polling握手, 直接使用websocket握手, 这样不会有多余的请求落到不同的进程而导致握手失败;
  2. 麻烦就麻烦, 使用nginx做proxy,nginx确实是一个不错的选择.
  3. 如果确定不用nginx的proxy, 也可以是用nodeJs自带的cluster模块, 但是如果使用Long-polling起手的话, 要做IP-HASH
少女的英雄梦 2022-09-10 23:42:11

试试socketio-redis

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文