我有以下代码:
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
$loop = \React\EventLoop\Factory::create();
$socketServer = new \React\Socket\Server('127.0.0.1:8080', $loop);
$httpServer = new \React\Http\Server(function(\Psr\Http\Message\ServerRequestInterface $request) {
return new \React\Http\Response(200, [
'Content-Type' => 'text/plain'
],
'Hello, World'
);
});
$httpServer->listen($socketServer);
$rrServer = new RRServer(); // Implements MessageComponentInterface
$webSocketServer = new IoServer(
new HttpServer(
new WsServer(
$rrServer
)
),
$socketServer,
$loop
);
$webSocketServer->run();
该代码有效,但我只能使用http://localhost:8080访问它,当我尝试使用 WebSocket 连接时,连接打开,然后立即关闭。另外,当我创建一个具有不同端口的新套接字时,我可以同时使用 http:// 和 ws://
我的代码有什么问题?如何在同一个端口上运行 WebSocket 和 HTTP Server?
泛舟湖上清波郎朗
慕哥9229398
不负相思意
随时随地看视频慕课网APP