Ошибка при работе веб-сокета в PHP - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь запустить сервер websocket в моем терминале хоста. После запуска файла websocket_server. php (мой файл конфигурации WS) я получаю следующее сообщение (Вы видите, что не удалось подключить memcache, но сервер все еще работает -?):

enter image description here

Кроме того, я получаю ошибку 403 в моем javascript ajax запросе (при попытке подключения к WS): JS Код:

    const conn = new WebSocket('wss://xxx.com:8080');

сообщение об ошибке:

WebSocket connection to 'wss://xxx.com:8080/' failed: Error during WebSocket handshake: Unexpected response code: 403

Мой хост подтвердил, что разрешил разрешение на подключение к порту 11211.

require __DIR__ . '/vendor/autoload.php';

use Ratchet\Http\HttpServer;
use Ratchet\Http\OriginCheck;
use Ratchet\WebSocket\WsServer;
use Ratchet\Session\SessionProvider;
use Symfony\Component\HttpFoundation\Session\Storage\Handler;
use xxx_websocket\Chat;

$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);

$app = new HttpServer(
    new OriginCheck(
        new SessionProvider(
            new WsServer(
                new Chat()
            ),
            new Handler\MemcacheSessionHandler($memcache)
        ),
        array('###MYWebsiteDomainURL###')
    )
);

$loop = \React\EventLoop\Factory::create();
$privateKEY = __DIR__ . '/../private/private.pem';
$publicKEY = __DIR__ . '/../private/public.pem';
$secure_websockets = new \React\Socket\Server('0.0.0.0:8080', $loop);
$secure_websockets = new \React\Socket\SecureServer($secure_websockets, $loop, [
    'local_cert' => $publicKEY,
    'local_pk' => $privateKEY,
    'verify_peer' => false
]);
$secure_websockets_server = new \Ratchet\Server\IoServer($app, $secure_websockets, $loop);
$secure_websockets_server->run();

мой реальный адрес веб-сайта подвергся цензуре xxx.com

...