Почему дельта сообщений websocket равна 0, но только для соединений с высокой задержкой? - PullRequest
0 голосов
/ 23 января 2019

У меня есть несколько серверов в разных местах. Мне нужно получить частоту, с которой принимаются сообщения веб-сокета. Когда я подключаюсь к серверу с низкой задержкой, частота нормальная (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 - частота в миллисекундах.

Как мне разобраться в этом вопросе?

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