ping通的报文:
不通的报文:
private fun ping(ip:String): Boolean {
val arr = arrayOf("sh", "-c", "ping -c 2 -W 1 $ip")//192.168.0.1
val process = Runtime.getRuntime().exec(arr)
val input = BufferedReader(InputStreamReader(process.inputStream));
var connectedCount = 0
var line: String? = null
input.use {
try {
while (input.readLine().also { line = it } != null) {
val result = getCheckResult(line!!)
connectedCount += result
LogHelper.d("MainActivity --- connectedCount = $connectedCount result = $result line = $line")
if(connectedCount > 0){
return true;
}
}
}catch (e:Exception){
e.printStackTrace()
return false
}
}
return connectedCount > 0
}
private fun getCheckResult(line: String): Int {
return if ((line.contains("ttl=") || line.contains("TTL=")) && line.contains("ms")) {
1
} else 0
}
在此 做个笔记