首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
WebsockeServer中如何为client分组以实现分组广播?
Websocke客户端连接至服务器后,会触发onOpen事件,但关闭后很少触发onClose事件 我希望对客户端进行分组,以实现对不同的组广播不同的内容,所以,我在redis中维护了一个客户端列表,保存了客户的fd,但是,由于客户端不会触发onClose事件,导至redis中维护的客户端列表不能删除。 但是我发现,$server->connections_list中的fd,是及时更新的 这是为什么?
发布于9年前 · 0 次浏览 · 来自
提问
夏
夏洛&_&
Websocke客户端连接至服务器后,会触发onOpen事件,但关闭后很少触发onClose事件 我希望对客户端进行分组,以实现对不同的组广播不同的内容,所以,我在redis中维护了一个客户端列表,保存了客户的fd,但是,由于客户端不会触发onClose事件,导至redis中维护的客户端列表不能删除。 但是我发现,$server->connections_list中的fd,是及时更新的 这是为什么?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2017-08-03
d
dxy
基于Redis或者Task功能实现分组。如果未触发`onClose`可能是你设置了`dispatch_mode=1/3`,或者 连接泄漏了,你可以设置`heartbeat_check_interval`参数启用心跳检测。
赞
0
回复
2017-08-04
风
风居住的地方
1.服务启动前,我没有修改任何参数,按手册上所讲,dispath_mode是2,所以应该不是这种情况。 2.什么是连接泄露?如何解决? 3.引出另一个问题,我想看服务器信息,但swoole_server::$setting这个成员变量不存在,与手册不符,为什么?
赞
0
回复