六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

構造.NET環境下的頁面下載器 (1)

[摘要]一.前言:   微軟的.Net框架為我們進行網絡編程提供了以下兩個名字空間:System.Net以及System.Net.Sockets。通過合理運用其中的類和方法,我們可以很容易地編寫出各種網絡應用程序。這種網絡應用程序既可以是基于流套接字的,也可以是基于數據報套接字的。而基于流套...
一.前言: 
   
    微軟的.Net框架為我們進行網絡編程提供了以下兩個名字空間:System.Net以及System.Net.Sockets。通過合理運用其中的類和方法,我們可以很容易地編寫出各種網絡應用程序。這種網絡應用程序既可以是基于流套接字的,也可以是基于數據報套接字的。而基于流套接字的通訊中采用最廣泛的協議就是TCP協議,基于數據報套接字的通訊中采用最廣泛的自然就是UDP協議了。下面我將重點向大家介紹.NET網絡編程中的一些類:Dns類、IPHostEntry類、IPEndPoint類以及Socket類,并會在最后給出一個網頁下載器的實例以加深讀者對.NET網絡編程的理解。 
   
    二.網絡編程類介紹: 
   
    Dns 類: 
   
    向使用 TCP/IP Internet 服務的應用程序提供域名服務。其Resolve()方法查詢DNS服務器以將用戶友好的域名(如"www.google.com")映射到數字形式的 Internet 地址(如 192.168.1.1)。Resolve()方法返回一個IPHostEnty實例,該實例包含所請求名稱的地址和別名的列表。大多數情況下,可以使用 AddressList 數組中返回的第一個地址。 
   
    Resolve()方法的函數原型如下: 
   
  public static IPHostEntry Resolve(string hostName); 
   
   
   
    下面的代碼獲取一個 IPAddress 實例,該實例包含服務器 www.google.com 的IP地址: 
   
  IPHostEntry ipHostInfo = Dns.Resolve("www.google.com"); 
  IPAddress ipAddress = ipHostInfo.AddressList[0]; 
   
   
   
    不過在Dns類中,除了通過Resolve()方法,你還可以通過GetHostByAddress()方法以及GetHostByName()方法來得到相應的IPHostEntry實例,函數原型如下: 
   
  public static IPHostEntry GetHostByAddress(string IPAddress); 
  public static IPHostEntry GetHostByName(string hostName); 
   
   
   
    下面的代碼顯示了如何分別運用以上兩種方法獲得包含服務器www.google.com的相關信息的IPHostEntry實例: 
   
  IPHostEntry hostInfo=Dns.GetHostByAddress("192.168.1.1"); 
  IPHostEntry hostInfo=Dns.GetHostByName("www.google.com"); 
   
   
   
    在使用以上方法時,你將可能需要處理以下幾種異常: 
   
  SocketException異常:訪問Socket時操作系統發生錯誤引發 
   
  ArgumentNullException異常:參數為空引用引發 
   
  ObjectDisposedException異常:Socket已經關閉引發 
   
  以上,我向大家簡要地介紹了Dns類中一些方法以及其用法,并列舉出了可能出現的異常,下面就讓我們轉到和Dns類密切相關的IPHostEntry類。 
   
    IPHostEntry類: 
   
    該類的實例對象中包含了Internet主機的地址相關信息。此類型的所有公共靜態成員對多線程操作而言都是安全的,但不保證任何實例成員是線程安全的。其中主要的一些屬性有:AddressList屬性、Aliases屬性以及HostName屬性。 
   
    AddressList屬性和Aliases屬性的作用分別是獲取或設置與主機關聯的IP地址列表以及獲取或設置與主機關聯的別名列表。其中AddressList屬性值是一個IPAddress類型的數組,包含解析為Aliases屬性中包含的主機名的IP地址;Aliases屬性值是一組字符串,包含解析為AddressList 屬性中的IP地址的DNS名。而HostName屬性比較好理解,它包含了服務器的主要主機名,這光從名稱上就可以知道了。如果服務器的DNS項定義了附加別名,則可在Aliases屬性中使用這些別名。 
   
    下面的代碼列出了服務器www.google.com的相關別名列表以及IP地址列表的長度并將所有的IP地址列出: 
   
  IPHostEntry IPHost = Dns.Resolve("www.google.com/"); 
  string[] aliases = IPHost.Aliases; 
  Console.WriteLine(aliases.Length); 
   
  IPAddress[] addr = IPHost.AddressList; 
  Console.WriteLine(addr.Length); 
  for(int i= 0; i < addr.Length ; i++) 
  { 
  Console.WriteLine(addr[i]); 
  } 
   
   
   
  介紹完IPHostEntry類,我們能獲得了所要連接的主機的相關IP地址以及別名列表,但是真正要和主機取得連接還需要一個很重要的類-IPEndPoint類。 
   

[1] [2]  下一頁




主站蜘蛛池模板: 日本视频一区二区三区 | 日韩中文字幕在线观看视频 | 午夜视频网站在线观看 | 亚洲成人黄色片 | 在线免费看污视频 | 欧美亚洲视频在线观看 | 小明www永久在线看 小黄鸭b站视频在线 | 亚洲福利一区二区三区 | 欧美视频一 | 日本手机在线视频 | 天干天干天啪啪夜爽爽色 | 伊人五月婷 | 色吊丝欧美 | 日日噜噜夜夜狠狠扒开双腿 | 午夜福免费福利在线观看 | 亚洲国产精品免费在线观看 | 日本无卡码一区二区三区 | 亚洲欧美日韩高清一区二区一 | 色色视频网 | 亚洲人影院 | 在线观看色视频 | 中文字幕视频免费在线观看 | 欧美亚洲国产人成aaa | 日本欧美一区二区三区视频 | 婷婷亚洲综合五月天小说 | 四虎成人免费网址在线 | 日本国产成人精品视频 | 青草国产在线 | 日本大片久久久高清免费看 | 天天射色综合 | 青娱乐综合网 | 日韩欧美三级在线 | 人人揉人人添人人捏人人看 | 日本高清视频不卡 | 日韩r片| 日本高清色本在线www游戏 | 亚洲成av人片在线观看 | 亚洲欧美日韩国产色另类 | 青青久在线视频 | 色网站免费看 | 日本一区二区视频在线 |