получает данные из веб-сокета на вкладке «Сеть» в Chrome Developer Tools на определенной домашней странице - PullRequest
0 голосов
/ 12 октября 2018

Я пишу этот вопрос, потому что у меня есть вопрос при написании текущей программы.

Если вы переходите на вкладку Инструменты разработчика Chrome -> Сеть на определенной домашней странице, вы пишете программу для получения этогокак Node.js.

На вкладке Общие заголовка
URL запроса: wss: //stream-live.bitsonic.co.kr: 8443 / socket.io /? streams = btckrw тикер% 2Fbtckrw aggTrade% 2Fbtckrw * deep_20 & EIO = 3 & transport = websocket & sid = 1p8mHxkKcBYxAvKVE1id

Я пишу эту программу на основе URL-адреса как wss: // stream-live.r..

На вкладке Параметры строки запроса
потоков: btckrw тикер / btckrw aggTrade / btckrw * deep_20
EIO: 3
transport: websocket
sid: 1p8mHxkKcBYxAvKVE1id

Содержит значение.

Ниже приведена программа, которую я написал.

const io = require('socket.io-client');
const socket_url = 'wss://stream-live.bitsonic.co.kr:8443/';
var socket = io.connect(socket_url);
socket.on('connect', function(err, data){
console.log('Connected.1');
socket.emit('DEPTH',{
    query: {
        'streams': 'btckrw*ticker/btckrw*aggTrade/btckrw*depth_20',
        'EIO': '3',
        'transports': ['websocket'],  // ['websocket', 'flashsocket', 'polling']
        // 'nonce': Date.now()*1000,
        'sid': 'UzCyjO_8gXPpPrcEEoEg'
    }
});
});

socket.on('error', function(data){
    console.log('err',data);
});

socket.on('close', function(data){
    console.log('cls',data);
});

socket.on('message',(body)=>{
    console.log('msg',body);
});

В кране веб-сокета содержимое сообщения накладывается на вкладку Framesи io.on ('message') должен содержать содержимое.

Ниже приведено содержание ошибки.

err:  { Error: xhr post error
    at XHR.Transport.onError (G:\dev\js\bsx\node_modules\engine.io-client\lib\transport.js:64:13)
    at Request.<anonymous> (G:\dev\js\bsx\node_modules\engine.io-client\lib\transports\polling-xhr.js:109:10)
    at Request.Emitter.emit (G:\dev\js\bsx\node_modules\component-emitter\index.js:133:20)
    at Request.onError (G:\dev\js\bsx\node_modules\engine.io-client\lib\transports\polling-xhr.js:309:8)
    at Timeout._onTimeout (G:\dev\js\bsx\node_modules\engine.io-client\lib\transports\polling-xhr.js:256:18)
    at ontimeout (timers.js:498:11)
    at tryOnTimeout (timers.js:323:5)
    at Timer.listOnTimeout (timers.js:290:5) type: 'TransportError', description: 403 }

Я был бы очень признателен, если бы вы сообщили мне, что пошло не так.

И я прошу прощения за плохое знание английского языка.

1 Ответ

0 голосов
/ 20 октября 2018

вы должны знать, что использование socket.io - это не то же самое, что обычный WebSocket

если я получаю то, что вы хотите правильно, вы должны знать, что использование

socket.on('message',(body)=>{
    console.log('msg',body);
});

не то же самое, что

let socket = new WebSocket('url');
socket.onmessage(callback) //or using addEventListener

в socket.io, событие message должно быть определено вами, и оно не является автоматическим, как я знаю

в обычном WebSocket на message будет слушатьвсе и проверяйте каждый запрос и ответ

надеюсь, что вы можете получить где-нибудь из моего ответа

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