Closed xuanyanwow closed 7 months ago
协程服务端是看客户端的请求头中的Connection来设置长链接的,不用手动设置
https://wiki.swoole.com/#/server/setting?id=open_tcp_keepalive
最终要解决的问题是检测死连接
,通过这几个参数控制调整自己业务所能容忍的检测周期
这几个参数协程化服务端没法设置
那目前协程服务端在检测死连接的问题有做相关的处理么
目前不支持
有在计划中?
另一个问题:协程风格websocket server::close无法传参code和reason
// 异步风格
Swoole\WebSocket\Server->disconnect(int $fd, int $code = SWOOLE_WEBSOCKET_CLOSE_NORMAL, string $reason = ''): bool
【根据 RFC6455,对于应用程序关闭连接状态码,取值范围为 1000 或 4000-4999 之间】
Response::push()
可以支持发送 SWOOLE_WEBSOCKET_OPCODE_CLOSE
类型的 frame,传递 code 和 reason$server = new Co\Http\Server("127.0.0.1", 9502, false);
$server->handle('/websocket', function ($request, $ws) {
$ws->upgrade();
sleep(1);
$frame = new Swoole\WebSocket\CloseFrame;
$frame->reason = 'close';
$ws->push($frame);
});
已知:
由于 HTTP 解析性能原因使用 C++ 编写,因此并非由 PHP 编写的 [Co\Server](https://wiki.swoole.com/#/coroutine/server) 的子类。
,既不继承 也无 settings 的说明想了解的问题:
协程风格下是否支持 keep-alive 等参数的配置,进行 维持长连接