基礎類庫積累--Ip類
阿新 • • 發佈:2020-08-18
前言:
這個IP類,主要是操作本地的IP資訊的獲取和檢查,之前有寫一個修改本地IP的方法,但是效率太慢了,被老大給否掉了,就沒繼續,自我感覺,獲取IP資訊速度很快,去切換IP(修改IP),感覺很慢(8秒左右),不知道為什麼很慢,有了解,請賜教!
程式碼:
/// <summary> /// IP地址操作類 /// </summary> public class Ip { /// <summary> /// 獲取本機內網IP地址 /// </summary> /// <returns>返回:內網IP地址(成功);空字串(失敗)</returns> public static string GetLocalIpAddress() { string result = ""; try { foreach (IPAddress _IPAddress in Dns.GetHostEntry(Dns.GetHostName()).AddressList) { if (_IPAddress.AddressFamily.ToString() == "InterNetwork") { result = _IPAddress.ToString(); } } } catch (Exception ex) { Message.Show(ex.Message); } return result; } /// <summary> /// 通過Ping方法檢視網路是否聯通 /// </summary> /// <param name="ip">IP地址</param> /// <returns>是否聯通</returns> public static bool Ping(string ip) { bool result = false; try { System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping(); System.Net.NetworkInformation.PingReply pingReply = ping.Send(ip); if (pingReply.Status == System.Net.NetworkInformation.IPStatus.Success) { result = true; } } catch (Exception ex) { Message.Show(ex.Message); } return result; } /// <summary> /// 通過Ping方法檢視網路是否聯通 /// </summary> /// <param name="ip">IP地址</param> /// <param name="timeOut">超時時間(毫秒)</param> /// <returns>是否聯通</returns> public static bool Ping(string ip, int timeOut) { bool result = false; try { System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping(); System.Net.NetworkInformation.PingReply pingReply = ping.Send(ip, timeOut); if (pingReply.Status == System.Net.NetworkInformation.IPStatus.Success) { result = true; } } catch (Exception ex) { Message.Show(ex.Message); } return result; } }
總結:
其實這個有很簡單,也沒什麼可以說的,只是方便以後,自己想用的時候,能快速找到!其實我覺得積累還是挺有用的,比如我老大提到某一個技術,我之前有用過或積累過,就能很快進行溝通,提高工作效率!