Эта проблема ограничена 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.
Я прошу решение этой проблемы и, если возможно, объяснение того, почему он работает по-разному в этих браузерах.Спасибо!