WebSocket连接到'ws:// localhost:8080 /'失败:连接建立中出错:net :: ERR_CONNECTION_REFUSED

3

我在客户端脚本和服务器之间没有Websocket连接。

在我的本地环境中它正常工作。

同时,我正在遵循这个链接

这是一个初始化websocket服务器并监听客户端连接到8080端口的服务器脚本。

public function run()
{
    $loop   = Factory::create();
    $pusher = new Pusher;
    $context = new 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, 'onBlogEntry'));

    // Set up our WebSocket server for clients wanting real-time updates
    $webSock = new Server('0.0.0.0:8080', $loop); // Binding to 0.0.0.0 means remotes can connect
    $webServer = new IoServer(
        new HttpServer(
            new WsServer(
                new WampServer(
                    $pusher
                )
            )
        ),
        $webSock
    );

    $loop->run();

以下是客户端脚本:

var conn = new ab.Session('ws://localhost:8080',
    function() {
        /* subscribe to following topics */
        conn.subscribe('new_order', function(topic, data) ..

再次强调,这在本地环境中运行良好。

另外需要注意的是,我的应用程序是使用 Docker 容器中指定的端口进行托管的。

http://192.168.12.52:8094/xyz/new/....

我也尝试在客户端脚本中指定IP地址:
var conn = new ab.Session('ws://192.168.12.52:8080',
    function() {
        /* subscribe to following topics */
        conn.subscribe('new_order', function(topic, data) ...

在某些情况下,我会遇到以下错误:
WebSocket connection to 'ws://192.168.11.32:8080/' failed: Error during WebSocket handshake: Unexpected response code: 403

这里缺少什么?
1个回答

0
这很可能是一个SSL证书问题。我认为新的浏览器版本在没有SSL的情况下,会遇到Web套接字的问题。你可能有自签名的证书。尝试访问https://192.168.12.52:8080,如果出现无效证书错误(类似于:你的连接不安全或你的连接不受保护),请点击“高级”或“添加异常”,然后使用同一浏览器再次尝试。另外,您也可以使用wss:// 代替ws://。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接