websocket сервер на php

571
10 декабря 2016, 10:20

Всем привет.

Есть самописный сервер webscoket на php, в связке http ws работает все отлично.

Но через само подписанный сертификат ошибка failed: Error in connection establishment: net::ERR_CONNECTION_RESET.

Функция stream_socket_accept($socket) возвращает false. Код server.php

    $context = stream_context_create();
    stream_context_set_option($context, 'ssl', 'local_cert', '/etc/ssl/private/server.key');
stream_context_set_option($context, 'ssl', 'local_cert', '/etc/ssl/certs/server.pem');
   stream_context_set_option($context, 'ssl', 'passphrase','');
    stream_context_set_option($context, 'ssl', 'allow_self_signe', true);
    $socket =  stream_socket_server("ssl://192.168.43.168:8078",$errno,$errstr,STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);


    if (!$socket) {
        die("$errstr ($errno)\n");
    }
    $read[] = $socket;
    $db = new dbquery();
    global $jsdata; 
    $authClient = array();
    $write = $except = null;

    while(true)
    {
        $read[] = $socket;
        stream_select($read, $write, $except,1, 0);
        if (in_array($socket, $read))
        {
            try {
                $newSocket = stream_socket_accept($socket);
            } catch (Exception $e) {
            }

client.js

var uri ="wss://192.168.43.168:8078?id="+$('#iduser').val();
var socket = new WebSocket(uri);
Answer 1

У вас опечатка в опции allow_self_signed:

 stream_context_set_option($context, 'ssl', 'allow_self_signe', true);
Answer 2

Подключил сертификат подписанный центром сертификации. Все заработало. Нужно только создать pem ключ сервера

cat server.crt server.key > server.pem

Ну и не забывать везде указывать доменное имя

wss:\\domain-name:8078
READ ALSO
PHP, получение названия объекта в массиве

PHP, получение названия объекта в массиве

У нас имеется массив следующего содержания

174
Phpstorm не подсвечивает методы объекта

Phpstorm не подсвечивает методы объекта

Создал класс, внутри класса переменную $dbh и присвоил ему PDOДалее обращаюсь к $this->dbh-> и надеюсь на автокомплит, но редактор не видит методов

646
Laravel 5.3 обработка url запроса

Laravel 5.3 обработка url запроса

С Laravel v53 только знакомлюсь

350