У меня есть несколько серверов в разных местах. Мне нужно получить частоту, с которой принимаются сообщения веб-сокета. Когда я подключаюсь к серверу с низкой задержкой, частота нормальная (50 - 60 мс). Но на серверах с высокой задержкой частота иногда равна 0. Я задал похожий вопрос не так давно, но был ответ, что сокет буферизует сообщения. Я считаю это маловероятным, поскольку это происходит только на серверах с высокой задержкой.
Вот код, отвечающий за обработку веб-сокета:
startTime = Date.now();
ws.onmessage = function (evt)
{
prevData = recivedData;
var receivedMsg = evt.data;
recivedData = JSON.parse(receivedMsg);
const endTime = Date.now();
ms = endTime - startTime;
startTime = endTime;
if(msAvg == null){
msAvg = ms;
}
msAvg = Math.round(((msAvg * 5) + ms) / 6);
id = recivedData.id;
}
ms
- частота в миллисекундах.
Как мне разобраться в этом вопросе?