phpsocket.io 客户端每次刷新都会重连, 为什么上次的连接还占用连接数

nwh

我做的这个功能是用于PC端与手机端的信息传递,因为一些原因PC端会经常刷新,刷新后就会产生新的连接,最近才发现刷新前的连接虽然断掉,但没有去除掉,还是会占用连接数,导致现在会因为达到最大连接数据而停止,
提问, 服务端检测到客户端断开后,服务端要用close()操作吗,这样会删除刷新前的连接占用吗

阅读 527
4个回答

six

安装event扩展,优化linux内核试下,这样能增加更多的连接数。
浏览器好像是有长连接机制,http请求结束后好像不会立刻断开连接,浏览器会保持一段时间这个连接。

  • 暂无评论
nwh

谢谢,

  • 暂无评论
2548a

你看看文档 开发必读第四项
4、长连接必须加心跳

长连接必须加心跳,长连接必须加心跳,长连接必须加心跳,重要的话说三遍。 长连接长时间不通讯会被路由节点清理导致连接关闭

你这就是没做心跳造成的.

  • nwh 2021-11-13

    你好,你回复的是当前这个标题的问题吗, 我用的是集成内容, 还需要加心跳判断吗,服务端用的是PHPSocketIO\SocketIO,PC客户端用的socket.io.js

2548a

服务端检测到客户端断开后,服务端要用close()操作吗
肯定要close关闭它,不然检测了有什么用.

这样会删除刷新前的连接占用吗