首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Ratchet在ssl (wss)服务器上启用keepAlive?

如何使用Ratchet在ssl (wss)服务器上启用keepAlive?
EN

Stack Overflow用户
提问于 2020-04-03 03:00:11
回答 1查看 445关注 0票数 0

我已经实现了一个棘轮WSS服务器,如下所示:

代码语言:javascript
复制
$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);的情况下运行得很好,但是一旦我添加了它就失败了。

代码语言:javascript
复制
PHP Fatal error: Uncaught Error: Call to undefined method Ratchet\Http\HttpServer::enableKeepAlive() in /path/to/server-ssl.php:27

包装keepAlive()的正确方式是什么

EN

回答 1

Stack Overflow用户

发布于 2020-09-19 09:58:35

enableKeepAlive()是WsServer类的函数,而不是HttpServer。尝试以下代码:

代码语言:javascript
复制
$app = new Ratchet\WebSocket\WsServer($MyServer);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60999102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档