system.***
命名空間包含了
dns類,它可以提供了編寫
dns所需要的函式。下面講解
dns類的一些方法以及在
c#中如何利用該類編寫程式。
一、
同步方法
在dns
類中定義了四個同步方法:
gethostname()
、gethostbyname()
、gethostbyaddress()
、resolve()
。下面分別講解。
1、public static string gethostname();
功能:獲取本地計算機的主機名。
返回值:字串,包含本地計算機的dns 主機名。
2、功能:獲取指定dns 主機名的 dns 資訊。public static iphostentry gethostbyname(string hostname)
引數:包含主機的dns 名的字串
using system;
using system.***;
class getdnshostinfo
iphostentry results = dns.gethostbyname(argv[0]);
console.writeline("host name: ",results.hostname);
foreach(string alias in results.aliases)
", alias);
}
foreach(ipaddress address in results.addresslist)
", address.tostring());
}
}
}
注:iphostentry(為 inter*** 主機位址資訊提供容器類)屬性介紹:
addresslist:獲取或設定與主機關聯的 ip 位址列表。
aliases:獲取或設定與主機關聯的別名列表。
hostname:獲取或設定主機的 dns 名稱。
3、gethostbyaddress()
功能:獲取ip 位址的 dns 主機資訊。
public static iphostentry gethostbyaddress(ipaddress);
public static iphostentry gethostbyaddress(string);
using system;
using system.***;
class getdnsaddressinfo
ipaddress test = ipaddress.parse(argv[0]);
iphostentry iphe = dns.gethostbyaddress(test);
console.writeline("information for ", test.tostring());
console.writeline("host name: ", iphe.hostname);
foreach(string alias in iphe.aliases)
", alias);
}
foreach(ipaddress address in iphe.addresslist)
", address.tostring());
} }
}
注:ipaddress,提供網際協議 (ip) 位址。
4、public static iphostentry resolve(string hostname)功能:將dns 主機名或 ip 位址解析為 iphostentry 例項。
引數:dns 樣式的主機名或 ip 位址。
備註:resolve 方法在 dns 伺服器中查詢與主機名或 ip 位址相關聯的 ip 位址。當 hostname 是 dns 樣式的主機名並且與多個 ip 位址關聯時,僅返回解析為該主機名的第乙個 ip 位址。
using system;
using system.***;
class getresolveinfo
iphostentry iphe = dns.resolve(argv[0]);
console.writeline("information for ", argv[0]);
console.writeline("host name: ", iphe.hostname);
foreach(string alias in iphe.aliases)
", alias);
}
foreach(ipaddress address in iphe.addresslist)
",address.tostring());
} }
}
二、非同步方法 在
dns中定義了四個非同步方法
: begingethostbyname()
、beginresolve()
、endgethostbyname()
、endresolve()
使用範例:
using system;
using system.drawing;
using system.***;
using system.text;
using system.windows.forms;
class asyncresolveform:
void buttonresolveonclick(object obj, eventargs ea)
private void
resolved
(iasyncresult ar)
foreach(ipaddress addrs in iphe.addresslist)
}
public static void main()
}
C 網路程式設計之TCP UDP
網路位元組順序 tcp ip 採用16 32 位高位先存格式 tcp ip 網路應用中,通訊的兩個程序主要採用 c s模式。伺服器要先啟動,並根據請求提供相應的服務 1 開啟乙個通訊通道訂告知本地主機,它願意在某一位址和埠上接受客戶請求 2 等待客戶請求到達該埠 3 接受到重複服務請求,處理該請求並...
c 網路程式設計之socket
該函式接收三個引數。第乙個引數af指定位址族,對於tcp ip協議的套接字,它只能是af inet 也可寫成pf inet 第二個引數指定socket型別,對於1.1版本的socket,它只支援兩種型別的套接字,sock stream指定產生流式套接字,sock dgram產生資料報套接字。如果這個...
C 網路程式設計之TCP UDP
最近因為需要用到網路程式設計的知識點,看了這篇部落格,感覺非常有用,對tcp udp描述的很通熟易懂 基於tcp協議的socket通訊類似於b s架構,面向連線,但不同的是伺服器端可以向客戶端主動推送訊息。使用tcp協議通訊需要具備以下幾個條件 1 建立乙個套接字 socket 2 繫結伺服器端ip...