第一步需要检查IP地址
/// <summary>
/// 判断IP地址
/// </summary>
/// <param name="ipAddress"></param>
/// <returns></returns>
public static bool ValidateIPAddress(string ipAddress)
{
Regex validipregex = new Regex(@"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$");
return (ipAddress != "" && validipregex.IsMatch(ipAddress.Trim())) ? true : false;
}
确认IP地址合法后使用Unity 的Ping类
bool isValid;
IEnumerator PingRoutine(Ping ping)
{
while (!ping.isDone)
{
yield return null;
}
if (ping.time != -1)
{
isValid = true;
Debug.Log("Ping to " + ping.ip + " succeeded. Time: " + ping.time + " ms");
}
else
{
isValid = false;
Debug.Log("Ping to " + ping.ip + " failed.");
}
}
/// <summary>
/// 检查IP是否可ping通
/// </summary>
/// <param name="strIP">要检查的IP</param>
public void CheckIPIsPing(string strIP)
{
if (!string.IsNullOrEmpty(strIP))
{
if (!ValidateIPAddress(strIP))
{
isValid = false;
}
else
{
Ping ping = new Ping(strIP);
StartCoroutine(PingRoutine(ping));
}
}
else
{
isValid= false;
}
}
####
安卓平台需要增加权限,在AndroidManifest.xml文件中增加
<uses-permission android:name="android.permission.INTERNET" />