如何获得打开 TCP 连接的进程的“延迟”?

Dav*_*ave 6 c# networking

我希望获得 TCP 连接的“延迟”字段。我注意到 windows Resource Monitor 有这个字段,我想知道是否有办法找到它。最好不使用 WMI。

如果您不确定我说的是哪个字段,请打开任务管理器,转到性能选项卡并点击资源监视器按钮。

打开资源监视器后,展开 TCP 连接区域,您将看到延迟字段。无论如何以编程方式访问它?

谢谢!

Ben*_*n S 0

我认为您无法通过任何 API 访问此信息。资源监视器可能通过查看回复数据包所需的时间来计算它。

要在您的应用程序中执行此操作,请执行以下操作(伪代码):

startTime = now
socket = openSocket()
endTime = now
latency = endTime - startTime
Run Code Online (Sandbox Code Playgroud)

它不会非常精确,但应该非常接近实际的网络延迟。但是,请记住,Nagle 的算法可能会扰乱延迟计算。