Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 301 в PHP - PullRequest
0 голосов
/ 04 ноября 2019

Я переместил свой сайт на другой хостинг. После этого я получаю сообщение об ошибке типа

 Error during WebSocket handshake: Unexpected response code: 301 @subasta_n.js:8

. Вот снимок файла subasta_n.js (взят из консоли)

enter image description here и вот функция рукопожатия websocket

//handshake new client.
    private function perform_handshaking($receved_header,$client_conn, $host, $port){
        $headers = array();
        $lines = preg_split("/\r\n/", $receved_header);
        foreach($lines as $line){
            $line = chop($line);
            if(preg_match('/\A(\S+): (.*)\z/', $line, $matches))
            {
                $headers[$matches[1]] = $matches[2];
            }
        }

        $secKey = $headers['Sec-WebSocket-Key'];
        $secAccept = base64_encode(pack('H*', sha1($secKey . 'xxxxxxxx-xx-xxxx-xxxx-xxxxxxxxxxx')));
        //hand shaking header
        $upgrade  = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" .
        "Upgrade: websocket\r\n" .
        "Connection: Upgrade\r\n" .
        "WebSocket-Origin: $host\r\n" .
        //"WebSocket-Location: ws://$host:$port/\r\n".
        "WebSocket-Location: wss://$host/wss/\r\n".
        "Sec-WebSocket-Accept:$secAccept\r\n\r\n";
        socket_write($client_conn,$upgrade,strlen($upgrade));
    }

Я пробовал также на http и https, но не повезло. Я также попытался изменитьномер порта, но после изменения при изменении порта выдается сообщение об ошибке Ошибка _connection_timeout

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...