Как переподключиться к Webscoket?
const response = await fetch(`https://open-api.bingx.com/openApi/spot/v1/ticker/price`)
let data = await response.json()
let arrSpot = data.data.map(i => i.symbol.replace(/\_/g, '-'))
function socketBingx(markets, i){
const path = "wss://open-api-ws.bingx.com/market";
let ws = new WebSocket(path);
ws.onopen = async function (){
console.log('Websocket connected', i)
for (let coin of markets) {
await ws.send(JSON.stringify({"id": `${coin} - 1`, "reqType": "sub",
"dataType": `${coin}@depth20`}));
await new Promise(resolve => setTimeout(resolve, 500));
}
}
ws.onmessage = async function (message){
const buf = Buffer.from(message.data);
const decodedMsg = zlib.gunzipSync(buf).toString('utf-8');
let data = JSON.parse(decodedMsg);
if (data.ping){
ws.send(JSON.stringify({"pong":data.ping, "time": data.time}))
console.log('pong', i)
}
ws.onerror = function (){
console.log('error')
}
ws.onclose = function (){
console.log('close')
}
}
let socketsBingx = Math.ceil(arrSpot.length / 199)
let start = 0, end = 199;
for (let i = 0; i < socketsBingx; i++){
let markets = arrSpot.slice(start, end)
socketBingx(markets, i)
start += 199
end += 199
await new Promise(resolve => setTimeout(resolve, 5000));
}
создаю несколько подключений к websocket. Через некоторое время, некоторые соединения отключаются. Как мне их переподключать с передачей тех же параметров, что и при первом подключении?