/// <summary>
/// 匹配IP地址是否合法
/// </summary>
/// <param name="ip">当前需要匹配的IP地址</param>
/// <returns>true:表示合法</returns>
public static bool MatchIP(string ip)
{
bool success = false;
if (!string.IsNullOrEmpty(ip))
{
//判断是否为IP
success = Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
}
return success;
}
ip地址是否ping的通
/// <summary>
/// Test Net Connectity
/// </summary>
/// <param name="strIP"></param>
/// <returns></returns>
public static bool TestNetConnectity(string strIP)
{
//if (!NetUtil.CheckIPAddr(strIP))
//{
// return false;
//}
// Windows L2TP VPN和非Windows VPN使用ping VPN服务端的方式获取是否可以连通
System.Net.NetworkInformation.Ping pingSender = new System.Net.NetworkInformation.Ping();
PingOptions options = new PingOptions();
// Use the default Ttl value which is 128,
// but change the fragmentation behavior.
options.DontFragment = true;
// Create a buffer of 32 bytes of data to be transmitted.
string data = "testtesttesttesttesttesttesttest";
byte[] buffer = Encoding.ASCII.GetBytes(data);
int timeout = 120;
PingReply reply = pingSender.Send(strIP, timeout, buffer, options);
var isScuccess = (reply.Status == IPStatus.Success);
print("地址是否连通,isScuccess:" + isScuccess);
return (isScuccess);
}