Реализация пинг / понга для веб-сокета userData - PullRequest
0 голосов
/ 28 июня 2019

Согласно Binance API: «Сервер веб-сокетов будет отправлять пинг-кадр каждые 3 минуты. Если сервер веб-сокета не получит фрейм понга от соединения в течение 10 минут, соединение будет отключено. Незапрошенный пингразрешены кадры. "

Итак, вот проблема, с которой я столкнулся, у меня есть реализация websocket, однако после этого 10-минутного периода она отключается.Мой on('close') ничего мне не возвращает, но я просто перестаю получать сообщения из сокета.

Это код, который я должен отправить обратно в понг:

ws.on('ping', (data) => {
    console.log("ping: " + data);
    ws.pong("pong");
    ws.isAlive = true;
    ws.lastAlive = new Date();
});

Я также пыталсяws.send() но у меня это не работает.Где я ошибаюсь?

Вот мой полный код: https://playcode.io/356312

А вот ссылка на документацию Binance;

websockets: https://github.com/binance-exchange/binance-official-api-docs/blob/master/web-socket-streams.md

Данные пользователя: https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md

...