小编ACE*_*100的帖子

TCP/UDP 的延迟是多少?

请帮忙!我有一个应用程序需要尽可能接近实时处理,并且我一直遇到 TCP 和 UDP 的这种异常延迟问题。延迟的发生就像发条一样,它的时间长度总是相同的(主要是 15 到 16 毫秒)。它发生在传输到任何机器(本地前夕)和任何网络(我们有两个)时。

快速解决问题:

我总是在 C++ 中使用 winsock,在 VS 2008 Pro 中编译,但我已经编写了几个程序来使用 TCP 和 UDP 以各种方式发送和接收。我总是使用以各种语言(MATLAB、C#、C++)编写的中间程序(在本地或远程运行)将信息从一个程序转发到另一个程序。这两个 winsock 程序在同一台机器上运行,因此它们显示来自同一时钟的 Tx 和 Rx 的时间戳。我一直看到一种模式出现,即传输一个数据包,然后在下一个突发之前有大约 15 到 16 毫秒的延迟,尽管没有编程延迟。有时每个数据包之间可能有 15 到 16 毫秒,而不是一连串的数据包。其他时候(很少)我会有不同长度的延迟,例如 ~ 47 ms。

我怀疑 winsock 或 NIC 在每次传输之前缓冲数据包,但我没有找到任何证据。我有一个到一个网络的千兆连接,它获得了不同级别的流量,但是在具有没有流量(至少来自用户)和 2 千兆连接的专用网络的集群上运行中间程序时,我也遇到了同样的事情。在本地运行带有发送和接收程序的中间程序时,我什至会遇到这种延迟。

networking udp tcp winsock delay

3
推荐指数
1
解决办法
3866
查看次数

标签 统计

delay ×1

networking ×1

tcp ×1

udp ×1

winsock ×1