将 Ratchet WsServer 与 React SecureServer (WSS / SSL) 结合使用
Using Ratchet WsServer in combination with React SecureServer (WSS / SSL)
我们正在尝试通过安全连接 (WSS) 实施 websockets,并已在我们的项目中实施 cboden/ratchet。在正常连接下一切正常。环顾文档和 Github 项目页面,似乎新的 React SecureServer class 尚未在 Ratchet 中实现。
在我们发现的问题 a post about it 中,直到更高版本才会支持它,但是,我们现在需要它 :D
在问题报告中,他们建议将新的 React SecureServer class 与 Ratchet classes 结合使用。我们尝试并遇到了一个致命错误:
Catchable fatal error: Argument 1 passed to React\Socket\SecureServer::__construct() must be an instance of React\Socket\Server, instance of Ratchet\Http\HttpServer given.
出错的地方:
$webServer = new Ratchet\Server\IoServer(
new React\Socket\SecureServer( // Using React class here as suggested
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
)
),
$webSock,
array(
'local_cert' => 'xxxx.pem',
'allow_self_signed' => true,
'verify_peer' => false
)
);
我们是在做傻事吗? :p
安全服务器应该围绕套接字服务器,而不是 HTTP 服务器:
$webServer = new Ratchet\Server\IoServer(
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
)
),
new React\Socket\SecureServer( // Using React class here as suggested
$webSock,
$loop,
array(
'local_cert' => 'xxxx.pem',
'allow_self_signed' => true,
'verify_peer' => false
)
)
);
我们正在尝试通过安全连接 (WSS) 实施 websockets,并已在我们的项目中实施 cboden/ratchet。在正常连接下一切正常。环顾文档和 Github 项目页面,似乎新的 React SecureServer class 尚未在 Ratchet 中实现。
在我们发现的问题 a post about it 中,直到更高版本才会支持它,但是,我们现在需要它 :D 在问题报告中,他们建议将新的 React SecureServer class 与 Ratchet classes 结合使用。我们尝试并遇到了一个致命错误:
Catchable fatal error: Argument 1 passed to React\Socket\SecureServer::__construct() must be an instance of React\Socket\Server, instance of Ratchet\Http\HttpServer given.
出错的地方:
$webServer = new Ratchet\Server\IoServer(
new React\Socket\SecureServer( // Using React class here as suggested
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
)
),
$webSock,
array(
'local_cert' => 'xxxx.pem',
'allow_self_signed' => true,
'verify_peer' => false
)
);
我们是在做傻事吗? :p
安全服务器应该围绕套接字服务器,而不是 HTTP 服务器:
$webServer = new Ratchet\Server\IoServer(
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
)
),
new React\Socket\SecureServer( // Using React class here as suggested
$webSock,
$loop,
array(
'local_cert' => 'xxxx.pem',
'allow_self_signed' => true,
'verify_peer' => false
)
)
);