亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#如何自動選擇出系統中最合適的IP地址

2020-01-24 01:34:35
字體:
來源:轉載
供稿:網友

寫這個是因為很長時間以來,碰到過很多次這個問題,但都沒當回事,這次又碰到了這個老問題,無奈百度了一圈兒未果,身邊又沒有大??梢哉埥蹋妥约合取翱偨Y”了一套方法,一來給自己記錄,二來如果碰巧能有朋友看到并為他解決了同樣的困擾我將感到很爽。

起因:凡是網絡程序,Coder似乎不可避免要碰到,你的代碼如何在不同的機器上挑選出最合適的那個IP來通訊,因為如果打開一個應用程序讓用戶來選擇用哪個IP地址和端口來通訊似乎就代表著這是個多么低端的程序,多么低能的程序員,所以一定要自動選擇,用戶 0 感知,就像偉大的QQ那樣。我也再次碰到了這個事情,Q群未果百度未果,就自己用 Framework 中提供的方法和屬性,自己總結了一個“規則”,下面直奔主題。

現在的機器可能是雙網卡,可能因為各類軟件和驅動又有多個虛擬網卡,所以我的“規則”是不直接判斷 IP 是不是符合規定,而是先從 NetworkInterface 入手,下面總結一下:

  1. 獲取所有本地 NetworkInterface 對象;

  2. 其屬性 Type 最好為 Wireless80211、Ethernet、Fddi、Ppp等,因為根據 MSDN 的解釋這幾類會是普通家用電腦常見的接口類型,但這樣判斷不太準確,所以只作為輔助判斷條件;

  3. 其屬性 OperationalStatus 應該為 Up,根據 MSDN 解釋,僅在 Up 時表示該網絡接口是可以正常收發數據的,這也可以作為判斷網卡(網絡)是否可用的一個條件;

  4. 使用 GetIPProperties().UnicastAddresses 方法,獲取該網絡接口下所有單播地址,這可以讓你獲得網絡IP;

  5. 該IP的DuplicateAddressDetectionState屬性應該為 Preferred,表示地址有效,即IP地址可正常使用;

  6. 該IP的屬性 PrefixOrigin 其值應該為 Dhcp 或 Manual,表示IP前綴由 Dhcp 分配或手動指定;

  7. 該IP的屬性 SuffixOrigin 其值應該為 OriginDhcp 或 Manual,表示IP后綴由 DHCP 分配或手動指定;

  綜上所述,基本可以排除一些如 169 、127.0.0.1 等此類的特殊地址,還有一些亂七八糟不知有什么用的網絡接口(有的網絡接口沒有地址,有的只有IPV6地址),但我感覺我這方法應該不是個“正路”,希望能有有經驗的人看到給我指點迷津。

  以下貼出測試用的截圖和代碼,是我機器上的結果:

代碼:

var interfaceList = NetworkInterface.GetAllNetworkInterfaces();      StringBuilder sb = new StringBuilder(512);      int index = 0;      string message = string.Empty;      foreach(var item in interfaceList)      {        index++;        sb.AppendLine(string.Format("Interface{0}: {1}", index, item.Name));        sb.AppendLine(string.Format("Description: {0}", item.Description));        sb.AppendLine(string.Format("ID: {0}", item.Id));        sb.AppendLine(string.Format("Type: {0}", item.NetworkInterfaceType));        sb.AppendLine(string.Format("OperationalStatus: {0}", item.OperationalStatus));        sb.AppendLine(string.Format("IsReceiveOnly: {0}", item.IsReceiveOnly));        sb.AppendLine(string.Format("Speed: {0}", item.Speed));        sb.AppendLine(string.Format("SupportMulticast: {0}", item.SupportsMulticast));        sb.AppendLine(string.Format("SupportIPV4: {0}", item.Supports(NetworkInterfaceComponent.IPv4)));        sb.AppendLine(string.Format("IP Properties:"));        var addresses = item.GetIPProperties().UnicastAddresses;        int j = 0;        foreach (var ip in addresses)        {          j++;          sb.AppendLine(string.Format("Address{0}: {1}({2})", j, ip.Address.ToString(),ip.Address.AddressFamily));          sb.AppendLine(string.Format("IPV4 Mask: {0}", ip.IPv4Mask));          sb.AppendLine(string.Format("PrefixOrigin: {0}", ip.PrefixOrigin));          sb.AppendLine(string.Format("SuffixOrigin: {0}", ip.SuffixOrigin));          sb.AppendLine(string.Format("DuplicateAddressDetectionState: {0}", ip.DuplicateAddressDetectionState));        }        sb.AppendLine();      }      textBox1.Text = sb.ToString();

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美国产黄色| 91精品国产高清久久久久久| 日韩av最新在线| 亚洲免费电影在线观看| 日韩二区三区在线| 欧美丝袜第一区| 97在线看免费观看视频在线观看| 欧美裸身视频免费观看| 亚洲一区二区精品| 最近2019年好看中文字幕视频| 欧美噜噜久久久xxx| 国产欧美精品日韩| 91色中文字幕| 精品视频—区二区三区免费| 国产亚洲精品91在线| 国产精品第2页| 久久精品视频在线观看| 97国产精品久久| 91精品免费视频| 国产精品第8页| 亚洲自拍另类欧美丝袜| 国产精品日韩专区| 久久999免费视频| 国内精品久久久久久影视8| 国产精品美女免费看| 日韩美女福利视频| 国产精品igao视频| 欧美极品少妇xxxxⅹ裸体艺术| 国产精品99久久久久久人| 国产精品欧美一区二区| 久久久久中文字幕| 欧美日韩福利视频| 国产欧美日韩丝袜精品一区| 2020久久国产精品| 国产成人一区三区| 日韩av日韩在线观看| 国产在线久久久| 亚洲欧美国产精品久久久久久久| 日本电影亚洲天堂| 欧美性猛交xxxxx水多| 久久久久久97| 国产精品精品一区二区三区午夜版| 久久69精品久久久久久国产越南| 日韩精品在线观看一区二区| 亚洲天堂av图片| 欧美在线日韩在线| 亚洲网站在线观看| 成人免费xxxxx在线观看| 第一福利永久视频精品| 一区二区三区视频免费在线观看| 欧美一级大片在线免费观看| 亚洲精品免费在线视频| 国产成人精品一区二区三区| 91中文字幕一区| 精品亚洲一区二区三区在线观看| 国产成人精品视| 日韩福利视频在线观看| 亚洲综合自拍一区| 国产精品91一区| 国内精品久久久久伊人av| 久久精品美女视频网站| 97av在线视频| 亚洲无亚洲人成网站77777| 麻豆成人在线看| 久久亚洲一区二区三区四区五区高| 国语自产精品视频在线看| 国产中文欧美精品| 亚洲男子天堂网| 日韩免费看的电影电视剧大全| 懂色aⅴ精品一区二区三区蜜月| 中文字幕精品网| 亚洲国产成人av在线| 97涩涩爰在线观看亚洲| 亚洲视频电影图片偷拍一区| 欧美成人免费在线观看| 91精品综合久久久久久五月天| 欧美午夜片在线免费观看| 欧美一级在线播放| 日韩在线观看精品| 91精品国产91久久久久久不卡| 国产精品99免视看9| 日韩免费视频在线观看| 日韩av影院在线观看| 国产精品亚洲激情| 国产精品一区二区三区毛片淫片| 日韩一中文字幕| 色老头一区二区三区| 国内成人精品视频| 精品国产成人av| 亚洲精品日韩丝袜精品| 日韩在线精品视频| 国产成人短视频| 国产99在线|中文| 国产亚洲精品va在线观看| 主播福利视频一区| 亚洲国产高清高潮精品美女| 亚洲精品久久久久久下一站| 久久精品电影网站| 国产做受69高潮| 国外成人在线视频| 日韩av在线一区二区| 国产一区二区三区日韩欧美| 欧美黑人又粗大| 欧美丝袜美女中出在线| 日韩欧美亚洲综合| 亚洲精品色婷婷福利天堂| 在线视频欧美日韩精品| 久久av中文字幕| 26uuu日韩精品一区二区| 国产精品免费视频xxxx| 亚洲欧美另类在线观看| xxxxxxxxx欧美| 国产成人涩涩涩视频在线观看| 欧美疯狂xxxx大交乱88av| 美女999久久久精品视频| 日韩69视频在线观看| 97在线视频观看| 国产精品美女主播在线观看纯欲| 亚洲大胆美女视频| 亚洲一区二区三区视频| 亚洲日本中文字幕| 欧美电影在线观看完整版| 成人久久久久久久| 中文字幕久久久| 亚洲色图校园春色| 亚洲尤物视频网| 久久精品久久精品亚洲人| 久久久久久久久久久91| 亚洲人成在线电影| 欧美色视频日本版| 欧美大胆a视频| 国产精品尤物福利片在线观看| 欧美在线xxx| 国产精品成熟老女人| 欧美日本中文字幕| 欧美成人在线免费视频| 在线观看不卡av| 狠狠躁天天躁日日躁欧美| 一区二区三区视频在线| 精品国内自产拍在线观看| 欧美在线影院在线视频| 91牛牛免费视频| 亚洲精品久久久久久久久| 欧美二区乱c黑人| 亚洲国产小视频| 欧美一区二区三区图| 国产91精品高潮白浆喷水| 亚洲色图狂野欧美| 亚洲高清一二三区| 亚洲va久久久噜噜噜| 日韩有码视频在线| 国产精品一久久香蕉国产线看观看| 亚洲va电影大全| 黄色成人在线免费| 亚洲va久久久噜噜噜久久天堂| 日韩麻豆第一页| 欧美在线免费视频| 成人免费观看网址| 欧美亚洲成人xxx| 亚洲精品丝袜日韩| 91精品国产综合久久香蕉| 国产做受69高潮| 国产精品7m视频| 欧美亚洲在线观看|