【问题标题】:How to estimate theoretical RTT of a message over socket?如何估计通过套接字的消息的理论 RTT?
【发布时间】:2021-06-27 11:08:01
【问题描述】:

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

【问题讨论】:

    标签: python sockets port


    【解决方案1】:

    没有理论上的方法来计算 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 停止它们。

    【讨论】:

      猜你喜欢
      • 2016-05-03
      • 2013-07-12
      • 1970-01-01
      • 2012-01-05
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      相关资源
      最近更新 更多