我正在编写一个程序,允许用户提供主机名或IP列表,然后我将找出哪个主机连接速度更快并连接到它。
而当我在标题中input问题时,我认为ping可能是一个可能性,但是我可以使用其他方法,因为不是所有主机都响应ping命令?
计算两个IP之间的距离有一堆网站,这是如何工作的?
networking距离以跳数来衡量。 traceroute这样的工具会发送具有不同TTL值的ICMP数据包。 每当TTL值被另一跳(路由器)转发时,TTL值就会减less。 当TTL达到零时,发送者通过另一个ICMP数据包通知(超时错误)。 看看这个页面 。
另一个select是测量两个节点之间的延迟。 这很大程度上取决于所使用的协议,并且由于多种原因而不能为所有协议提供相同的结果。 例如,不同的协议没有被赋予相同的优先级。 另外,不同的协议具有不同的连接性质(无连接和面向连接)等等。
我认为你要长期解决问题。 如果您正在获取用户提供的IP列表,然后找出具有最低延迟时间的列表,则必须决定要使用的这些主机上的哪些服务。 平是我的猜测,但正如你指出的那样,他们可能没有回应。 那么他们在回应什么? HTTP? 那时候呢