首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
swoole聊天服务自动断开
### 问题描述 在swoole服务端关闭了心跳检测机制,在客户端打开聊天窗口,放置一段时间会自动断开,打印断开的原因,看到的是1006错误码,去官网搜是session问题,然后就想知道这个是什么情况呢 ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole:4.6.5 PHP:7.3 OS:Centos ### 相关代码 ```php 服务端代码 // 配置项 protected $option = [ //设置启动的worker进程数 'worker_num' => 2, //task进程的数量 'task_worker_num' => 4, //指定task任务使用消息队列模式,3表示完全争抢模式,task进程会争抢队列,无法使用定向投递 'task_ipc_mode' => 3, //task进程的最大任务数 'task_max_request' => 1000, // 守护进程化 'daemonize' => true, // 监听队列的长度 'backlog' => 128, //绑定uid时用 'dispatch_mode' => 5, //设置日志路径 'log_file' => SWOOLE_LOG_PATH, //最大等待时间 'max_wait_time' => 3, //异步重启开关 'reload_async' => true, // //心跳检测机制(true为打开) // 'open_tcp_keepalive' => true, // //多长时间检测一次 // 'tcp_keepidle' => 30, // //检测次数 // 'tcp_keepcount' => 5, // //检测间隔时间 // 'tcp_keepinterval' => 1, ]; ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 我期待的结果就是窗口开着他不会自动掉线,他主动关闭了窗口在掉线。 现在的错误就是上面描述的这种错误
发布于5年前 · 11 次浏览 · 来自
提问
西班牙馅饼
### 问题描述 在swoole服务端关闭了心跳检测机制,在客户端打开聊天窗口,放置一段时间会自动断开,打印断开的原因,看到的是1006错误码,去官网搜是session问题,然后就想知道这个是什么情况呢 ### Swoole版本,PHP版本,以及操作系统版本信息 Swoole:4.6.5 PHP:7.3 OS:Centos ### 相关代码 ```php 服务端代码 // 配置项 protected $option = [ //设置启动的worker进程数 'worker_num' => 2, //task进程的数量 'task_worker_num' => 4, //指定task任务使用消息队列模式,3表示完全争抢模式,task进程会争抢队列,无法使用定向投递 'task_ipc_mode' => 3, //task进程的最大任务数 'task_max_request' => 1000, // 守护进程化 'daemonize' => true, // 监听队列的长度 'backlog' => 128, //绑定uid时用 'dispatch_mode' => 5, //设置日志路径 'log_file' => SWOOLE_LOG_PATH, //最大等待时间 'max_wait_time' => 3, //异步重启开关 'reload_async' => true, // //心跳检测机制(true为打开) // 'open_tcp_keepalive' => true, // //多长时间检测一次 // 'tcp_keepidle' => 30, // //检测次数 // 'tcp_keepcount' => 5, // //检测间隔时间 // 'tcp_keepinterval' => 1, ]; ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 我期待的结果就是窗口开着他不会自动掉线,他主动关闭了窗口在掉线。 现在的错误就是上面描述的这种错误
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2021-04-23
鲁飞
https://wiki.swoole.com/#/websocket_server?id=%e5%8f%91%e9%80%81ping%e5%b8%a7
赞
1
回复
2021-04-23
西班牙馅饼
回复
鲁飞
好的,谢谢打捞。还有个问题就是我看文档有个 Swoole\Server->protect(int $fd, bool $value = true), 我想知道是不是开启这个保护之后服务器这一端就不会在一段时间之后断开跟客户端的连接了,除非客户端主动断开连接
赞
0
回复
2021-04-22
鲁飞
不是说你关闭了心跳检测它就会一直连接了,你理解有问题。。
赞
0
回复
2021-04-22
西班牙馅饼
回复
鲁飞
额大佬那怎么让他一直保持连接呢,现在是想达到这个效果
赞
0
回复
2021-04-24
R
Ray
客户端定时发送ping,告诉服务器自己还活着
赞
0
回复