Я реализовал сервер 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();
Сервер работает нормально без $app->enableKeepAlive($app->loop, 30);
, но не удается, как только я его добавлю.
PHP Fatal error: Uncaught Error: Call to undefined method Ratchet\Http\HttpServer::enableKeepAlive() in /path/to/server-ssl.php:27
Что такое правильный способ упаковки keepAlive()
?