[英]How do you enable keepAlive on ssl (wss) server with Ratchet?
I have implemented a Ratchet WSS server like so:我已经实现了一个 Ratchet WSS 服务器,如下所示:
$MyServer = new MyServer();
$app = new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
$MyServer
)
);
$loop = React\EventLoop\Factory::create();
$secure_websockets = new React\Socket\Server('0.0.0.0:6190', $loop);
$secure_websockets = new React\Socket\SecureServer($secure_websockets, $loop, [
'local_cert' => '/path/to/cert.pem',
'local_pk' => '/path/to/privkey.pem',
'verify_peer' => false
]);
$secure_websockets_server = new Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->loop->addPeriodicTimer(1, function () use ($MyServer) {
// loop
}
$app->enableKeepAlive($app->loop, 30);
$secure_websockets_server->run();
The server runs fine without $app->enableKeepAlive($app->loop, 30);
服务器在没有$app->enableKeepAlive($app->loop, 30);
情况下运行良好$app->enableKeepAlive($app->loop, 30);
, but fails once I add it. ,但一旦我添加它就会失败。
PHP Fatal error: Uncaught Error: Call to undefined method Ratchet\Http\HttpServer::enableKeepAlive() in /path/to/server-ssl.php:27
What is the correct way of wrapping the keepAlive()
?包装keepAlive()
的正确方法是什么?
enableKeepAlive() is a function of WsServer class, not HttpServer. enableKeepAlive() 是 WsServer 类的函数,而不是 HttpServer。 Try the following code:试试下面的代码:
$app = new Ratchet\WebSocket\WsServer($MyServer);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.