2

我一直在思考如何在 Python 中实现镜像拾取。当我调用服务 API 时,我会收到 IP 地址的响应。现在我想拿那个地址检查它是否离我很近。如果没有,请重试。我考虑过 ping,因为我对托管在同一数据中心的 IP 地址只有约 1 毫秒的 ping 时间,但在全球范围内要高得多。我查找了一些如何在 Python 中实现 pinging 的示例,但它看起来相当复杂并且感觉有点骇人听闻(比如检查目标 IP 是否小于 10 毫秒)。可能有更好的方法来解决这个问题,我可能不知道。

你有什么想法?我每次都无法下载任何测试文件来测试速度。GeoIP 还是 ping?或者是其他东西?

4

2 回答 2

4

YUM fastmirror 插件使用一种粗略的方法来计算连接到远程服务器上的端口所需的时间。虽然它很粗糙,但它衡量的是延迟而不是带宽,但它相当有效:

time_before = time.time()
sock.connect((self.host, self.port))
result = time.time() - time_before
sock.close()
于 2011-05-28T07:10:10.843 回答
1

调用所有服务 API 实例并使用响应最快的。

于 2011-05-28T01:50:18.743 回答