WebSocket 握手期间出错:意外响应代码:200 - Ratchet 错误我的代码旁注

问题描述

敬礼,
我在将客户端连接到我的 Webscocket 服务器时遇到问题。我正在使用 Ratchet 库。

错误

WebSocket connection to 'ws://domain.com:3000/' Failed: Error during WebSocket handshake: Unexpected response code: 200

我的代码

我的 server.PHP 文件

<?PHP require __DIR__.'/vendor/autoload.PHP';

use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;


class ServerImpl implements MessageComponentInterface {
    protected $clients;

    public function __construct() { ... }

    public function onopen(ConnectionInterface $conn) { ... }

    public function onMessage(ConnectionInterface $conn,$msg) { ... }

    public function onClose(ConnectionInterface $conn) { ... }

    public function onError(ConnectionInterface $conn,\Exception $e) { ... }
}

$server = IoServer::factory(
    new HttpServer(
        new WsServer(
            new ServerImpl()
        )
    ),3000
);
$server->run();

我的 Apache 配置文件

<VirtualHost *:80>
    ServerName www.domain.com
    ServerAlias domain.com
    ServerAdmin example@example.com
    DocumentRoot /var/www/domain.com
</VirtualHost>

我的 client.html 文件

var conn = new WebSocket('ws://domain.com:3000/');

旁注

我使用的是 Apache 2.4.41 (Ubuntu) 和 PHP 7.4.3。
你能帮我吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...