WebSocket Ratchet сервер с одновременной прослушкой двух IP

Задача: поднять WebSocket сервер, одновременно слущающий и wss (для браузеров) и ws (для скриптов на PHP на том-же сервере).

Почему такой велосипед? Ну просто вот ну никак не удалось подобрать WebSocket клиент на PHP нормально работающий с WSS (SSL).

Решение:

$myClassMessage=new MessageService($UsersApi);

$loop = React\EventLoop\Factory::create();
$webSock = new React\Socket\Server('0.0.0.0:35500', $loop);
$webSock = new React\Socket\SecureServer($webSock, $loop, [
    'local_cert'        => 'епкуеп.crt', // path to your cert
    'local_pk'          => 'кепуке.key', // path to your server private key
    'allow_self_signed' => TRUE, // Allow self signed certs (should be false in production)
    'verify_peer' => FALSE
]);

$webServer = new Ratchet\Server\IoServer(
    new Ratchet\Http\HttpServer(
        new Ratchet\WebSocket\WsServer(
            $myClassMessage
        )
    ),
    $webSock,
    $loop        
);
$webSock2 = new React\Socket\Server('127.0.0.1:35501', $loop);

$webServer = new Ratchet\Server\IoServer(
    new Ratchet\Http\HttpServer(
        new Ratchet\WebSocket\WsServer(
            $myClassMessage
        )
    ),
    $webSock2,
    $loop        
);
$loop->run();

Комментарии:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.