基本原理
服务器与客户端的网络通信延时计算, 要考虑 4 个时间:
- 客户端请求发起时间 t1
- 服务器接收到请求时间 t2
- 服务器返回回包时间 t3
- 客户端接收到回包时间 t4
那么 网络延时 delay = ((t4 - t1) - (t3 -t2)) / 2
, 认为上下行网络延时基本相同. 其中 t4 - t1
是总请求时间, t3 -t2
是服务器处理了数据耗时.
不能简单的使用 t2 - t1
或者 t4 - t3
的原因是, 服务器与客户端可能存在时差. 因此一般认为 时差 = (t2 - t1) - delay
, 值大于 0 表示服务器比客户端时间快, 小于 0 表示服务器比客户端时间慢.
代码举例
服务器代码示例
1 | const http = require("http"); |
客户端代码示例
1 | const http = require("http"); |
不考虑服务器计算时间
1 | const http = require("http"); |