Javascript 在本地使用Node.js时,客户端和服务器的时间不同
我让节点服务器在本地工作,并通过webbrowser连接到此服务器。我使用websocket在客户端和服务器之间进行通信。我想测量向服务器和从服务器发送websocket消息的准确时间。我使用javascript函数Date.now(),但问题是,在我的结果中,有时消息在客户端发送之前被服务器接收。我猜客户端“时钟”和服务器“时钟”之间是有区别的。但在同一台机器上有两个。 我将非常感谢您的解释和资源链接。因为John Resig概述的javascripts时间不准确。可以使用javascript访问的时钟每隔几毫秒仅“滴答”一次。这意味着它可能与精确时间相差约7毫秒。现在,如果您的请求所用的时间比这个小的时间跨度短(如果它停留在本地主机上,则可能会发生这种情况),那么它看起来可能是在发送之前收到的Javascript 在本地使用Node.js时,客户端和服务器的时间不同,javascript,node.js,time,websocket,Javascript,Node.js,Time,Websocket,我让节点服务器在本地工作,并通过webbrowser连接到此服务器。我使用websocket在客户端和服务器之间进行通信。我想测量向服务器和从服务器发送websocket消息的准确时间。我使用javascript函数Date.now(),但问题是,在我的结果中,有时消息在客户端发送之前被服务器接收。我猜客户端“时钟”和服务器“时钟”之间是有区别的。但在同一台机器上有两个。 我将非常感谢您的解释和资源链接。因为John Resig概述的javascripts时间不准确。可以使用javascript
real time: 1000ms
js time: 1000ms
travel time: 5ms
real time: 1005ms
js time: 998ms // inaccuracy
difference: -2ms
我们无法对此进行任何改进,因为
性能。出于安全原因,现已禁用了。因此,我们唯一能做的就是引入网络延迟:),但时钟时间可能会更晚…有时,在客户端发送消息之前,服务器会收到消息。不,这是不可能的。不要指望日期。现在,准确地说,
。大多数浏览器跳过几毫秒。。。