0

我的网站通过 https(Using Let's Encrypt) 在共享主机上运行。它使用 Ratchet 实现 websocket,如下所示

$pusher = new qApp\Pusher;

 $loop   = React\EventLoop\Factory::create();
// Listen for the web server to make a ZeroMQ push after an ajax request
    $context = new React\ZMQ\Context($loop);
    $pull = $context->getSocket(ZMQ::SOCKET_PULL);
    $pull->bind('tcp://127.0.0.1:5555'); // Binding to 127.0.0.1 means the only client that can connect is itself
    $pull->on('message', array($pusher, 'onNewCall'));

$webSock = new React\Socket\Server('0.0.0.0:1234', $loop); // Binding to 0.0.0.0 means remotes can connect
    $webServer = new Ratchet\Server\IoServer(
        new Ratchet\Http\HttpServer(
            new Ratchet\WebSocket\WsServer(
                    $pusher
            )
        ),
        $webSock
    );

    $loop->run(); 

当客户端尝试连接时

 var socket  = new WebSocket('ws://localhost:1234');

在 localhost 上,它工作正常。

但是当使用 wss 在 Web 服务器上尝试相同时

 var socket  = new WebSocket('wss://domainname.com:1234');

它在 15-20 秒后超时。我在实施中有什么遗漏吗?

4

0 回答 0