我在多个位置都有多个服务器。我需要获取接收websocket消息的频率。当我连接到低延迟服务器时,频率是正常的(50-60 ms)。但是在高延迟服务器上,频率有时是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
是频率(以毫秒为单位)。
如何深入了解此问题?