Python 如何估计套接字上消息的理论RTT?

Python 如何估计套接字上消息的理论RTT?,python,sockets,port,Python,Sockets,Port,我正在从事一个在Python中使用套接字编程的项目。现在,我正在尝试将这个项目配置为在internet上运行,这基本上意味着客户机脚本可以从任何地方运行,前提是它提供了运行服务器脚本的机器的公共IP。使用端口转发,我最终实现了这一点,现在客户端和服务器可以在两台不同的机器上运行。但是,我想看看RTT是否可以改进。如果我知道客户机和服务器机器上的消息大小和互联网速度,或者任何此类附加数据,有没有方法从理论上计算通过套接字发送的消息的RTT?我基本上是想用给定的套接字设置计算RTT的最小可能值,然后

我正在从事一个在Python中使用套接字编程的项目。现在,我正在尝试将这个项目配置为在internet上运行,这基本上意味着客户机脚本可以从任何地方运行,前提是它提供了运行服务器脚本的机器的公共IP。使用端口转发,我最终实现了这一点,现在客户端和服务器可以在两台不同的机器上运行。但是,我想看看RTT是否可以改进。如果我知道客户机和服务器机器上的消息大小和互联网速度,或者任何此类附加数据,有没有方法从理论上计算通过套接字发送的消息的RTT?我基本上是想用给定的套接字设置计算RTT的最小可能值,然后检查实际测量的时间是否接近该值。如果没有,那么我的代码中的某些地方会影响性能。

没有理论方法来计算RTT,因为它取决于您和另一台计算机之间的硬件。但是,您可以对计算机执行
ping
操作并找到答案。这里我以8.8.8.8为例——它是一个谷歌服务器

C:\> ping 8.8.8.8

Pinging 8.8.8.8 with 32 bytes of data:
Reply from 8.8.8.8: bytes=32 time=14ms TTL=118
Reply from 8.8.8.8: bytes=32 time=14ms TTL=118
Reply from 8.8.8.8: bytes=32 time=14ms TTL=118
Reply from 8.8.8.8: bytes=32 time=14ms TTL=118

Ping statistics for 8.8.8.8:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 14ms, Maximum = 14ms, Average = 14ms
此命令将数据包发送到另一台计算机,该计算机将数据包发送回,然后测量所用的时间。Windows版本的
ping
重复4次。其他版本可能会重复,直到您使用Ctrl-C停止它们