需要写个实时检测网络通畅度的功能,找了半天,只发现有检测网络通还是不通的包,但是需要一个能检测出通畅程度,根据通畅程度评分的办法,现在只知道对面的 ip。
求教下老司机,应该怎么写这个功能?
想过 java 去调平命令 ping,但是想着这么做有些弊端。
还没找到有关这方面的包。请问一下网上类似的功能是怎么做的?
1
msg7086 2018-03-21 10:45:21 +08:00
通畅度是什么东西?是你发明出来的词汇么……
|
2
yuhuan66666 OP @msg7086 #1 需求 发明的。。。。
丢包率啥的评个分 |
3
ThirdFlame 2018-03-21 10:48:59 +08:00
ping 可以有丢包率、延迟、抖动 等指标
但是 ping 不能完全反应网络情况 |
4
msg7086 2018-03-21 10:55:52 +08:00
丢包有很多原因。
以前丢包主要是因为带宽过度使用而被桶直接扔了。 现在还有些其他原因,比如你懂的。 通畅度这个词本身没意义,最好像 #3 说的那样,列一个具体的指标要求。 网络游戏需要丢包延迟抖动,下载上传需要延迟和带宽,等等。 |
5
letitbesqzr 2018-03-21 10:58:37 +08:00 1
java.net 包中就实现了 ICMP ping,见 Ping 类的 ping(String)函数
|
6
yuhuan66666 OP @msg7086 #4 我如果根据 带宽、延迟、抖动和丢包率 这四个值 同时 进行衡量呢? 先观测一段时间 然后取个平均值 衡量好坏?
|
7
msg7086 2018-03-21 14:52:16 +08:00
@yuhuan66666 而且这玩意儿和量子观测一样,观测的动作本身就会影响观测对象。
你测带宽,狠命传一些数据,结果影响了丢包率和延迟抖动…… |