Firefox и Edge не могут подключиться к чату Quickblox - PullRequest
1 голос
/ 01 июля 2019

Эта проблема ограничена Firefox и Edge, в то время как Chrome работает нормально.Учтите, что моей конечной целью является создание аудио / видео чата, а не текстового чата.

При попытке соединения API выдает ту же ошибку:

{ code: 422, status: "error", detail: "Status.CONNFAIL - The connection attempt failed", message: "Unprocessable Entity" }
consultations:389:29

Firefox показывает это сообщение вlog:

Firefox can’t establish a connection to the server at wss://chat.quickblox.com:5291/.

Edge показывает это:

XML5632: Only one root element is allowed.
SCRIPT12030: SCRIPT12030: WebSocket Error: Network Error 12030, The connection with the server was terminated abnormally

Соблюдается следующий синтаксис:

QB.init(applicationSessionToken, appId, {})

QB.chat.connect({
        userId: QB.chat.helpers.getUserJid( '{{ $userQuickBlox->quickBloxId }}', 75452),
        password: '{{ $userQuickBlox->password }}',
    }, function(err, roster) {
        if (err) {
            console.log(err);
        }
    });

Редактировать 1:

Fiddler публикует идентичный вывод для Firefox и Edge:

GET / HTTP/1.1
Origin: https://cmed-web.vantagedigital.net
Host: chat.quickblox.com:5291
Connection: Upgrade
Upgrade: websocket
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: 5xM/G6qmjyskDdYfizDhWA==
Sec-WebSocket-Protocol: xmpp

DNT: 1

В то время как хром имеет несколько иной состав:

GET / HTTP/1.1
Origin: https://cmed-web.vantagedigital.net
Host: chat.quickblox.com:5291
Connection: Upgrade
Cache-Control: no-cache
Upgrade: websocket
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
Sec-WebSocket-Version: 13
Sec-WebSocket-Key: rnICPLwETXQWapHTwCheFg==
Sec-WebSocket-Protocol: xmpp

Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.9
Pragma: no-cache

Редактировать 2:

После некоторой путаницы Firefox теперь выдает следующую ошибку, а не ошибку соединения:

XML Parsing Error: junk after document element

QuickBlox SDK генерирует XML для связи со своими API.Но так как это сторонний SDK, я не могу по-настоящему возиться с запросами, которые он делает из минимизированного источника.

Приложение построено на PHP 7.3 / Laravel 5.8 и jQuery 3.

Я прошу решение этой проблемы и, если возможно, объяснение того, почему он работает по-разному в этих браузерах.Спасибо!

...