Кросс-доменное соединение не работает из браузера - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь подключиться к внешнему домену и проверил то же самое в socketio и socketcluster, по какой-то причине соединение socketio работает, а кластер сокетов один не подключается

Код ввода-вывода Socket

        var subscriptionUrl = 'https://streamer.cryptocompare.com/'

        var socket = io.connect(subscriptionUrl)

        socket.emit('SubAdd', {
            subs: ['5~CCCAGG~BTC~USD']
        })

        socket.on("m", function (message) {console.log('got message')}

Код кластера сокетов

var options = {
                hostname: 'streamer.cryptocompare.com',
                port: 443,
                secure: true,
                rejectUnauthorized: false
            }

        // Initiate the connection to the server
        var socket = socketCluster.create(options);

        socket.on('connect', function () {
            console.log('CONNECTED');
        });

Надеюсь, я ничего не пропустил, я вижу разницу в URL на вкладке сети в инструментах разработчика, хотя

URL-адрес, сгенерированный Socket IO https://streamer.cryptocompare.com/socket.io/?EIO=3&transport=websocket&sid=9KvMOnR02fTySfzTAFg3

Заголовки запроса

GET /socket.io/?EIO=3&transport=websocket&sid=9KvMOnR02fTySfzTAFg3 HTTP/1.1
Host: streamer.cryptocompare.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: null
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: AFYCl0wCU44wzhPAvBuUag==
Cookie: io=9KvMOnR02fTySfzTAFg3
DNT: 1
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

Заголовки ответа

HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: UqbJlC7wJDmalDqf4ouCMvyE9eM=
Sec-WebSocket-Extensions: permessage-deflate

URL-адрес, сгенерированный SocketCluster https://streamer.cryptocompare.com/socketcluster/ URL-адрес не включает sid и транспорт

Заголовки запросов

GET /socketcluster/ HTTP/1.1
Host: streamer.cryptocompare.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:62.0) Gecko/20100101 Firefox/62.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Sec-WebSocket-Version: 13
Origin: null
Sec-WebSocket-Extensions: permessage-deflate
Sec-WebSocket-Key: oK5xxYb8Vjkvy6Byc2ps+g==
Cookie: io=9KvMOnR02fTySfzTAFg3
DNT: 1
Connection: keep-alive, Upgrade
Pragma: no-cache
Cache-Control: no-cache
Upgrade: websocket

Заголовки ответов не сгенерированы. Я предполагаю, что оператор connect в console.log должен быть выполнен как минимум или если я что-то пропустил.Некоторое направление очень ценится.Спасибо

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