常见的网络组件
命名空间 | 组件的功能 |
---|
System.Net | 为目前的多种网络协议提供统一和简单的编程接口 |
System.Net.Mail | 简单邮件传输协议的服务器提供Email发送的类 |
System.Net.NetworkInformation | 提供对网络流量数据、网络地址信息的本地地址更改通知的访问,还包含实现PING的工具类 |
System.Net.Security | 为网络流在主机间的传输提供安全机制 |
System.Net.Sockets | 提供Winsock接口的托管实现 |
System.Net的主要类
类名 | 功能 |
---|
DNS | 提供简单域名解析功能 |
EndPoint | 用于标识网络地址 |
IPAddress | 提供IP地址 |
IPEndPoint | 以IP地址和端口号的形式标识一个网络端点 |
IPHostEntry | 为Internet主机地址信息提供容器类 |
SocketAddress | 代表一个套接字地址 |
System.Sockets的主要类
类名 | 功能 |
---|
LingerOption | 包含套接字延迟时间的信息,即当数据仍在发送时,套接字应在关闭后保持的时间 |
MulticastOption | 包含了IP多播选项值 |
NetworkStream | 为网络访问提供基础数据流 |
Socket | 实现了Berkeley |
SocketException | 当出现套接字错误时,将引发由该类所表示的异常 |
TcpClient | 为TCP服务提供客户连接 |
TcpListener | 用于监听TCP客户端 |
UdpClient | 用于提供UDP网络服务 |
IP地址相关类和方法
与IP有关的类有IPAddress、IPHostEntry、IPEndPoint和DNS类。
其中IPAddress类的属性和方法
主要属性和方法 | 描述 |
---|
Any | 本地系统可用的任何IP地址 |
Broadcast | 本地网络的IP广播地址 |
None | 系统没有网络接口 |
Address | 获取或者设置IP地址 |
AddressFamily | 制定IP地址的地址族 |
Parse | IP地址由字符串转换成网络地址 |
示例:
使用Dns的GetHostName方法找到本地系统主机名,再用该类的GetHostByName找到主机的IP地址
代码
string localName = Dns.GetHostName()
Console.WriteLine("主机名:{0}",localName)
//此处应该进行异常捕获,并处理
IPHostEntry localHost = Dns.GetHostByName(localName)
foreach (IPAddress localIP in localHost.AddressList) {
Console.WriteLine("IP地址:{0}", localIP.ToString())
}
//创建IPaddress的实例
IPAddress ip1 = IPAddress.Parse("192.168.1.1")
IPAddress localIP2 = IPAddress.Parse("127.0.0.1")
//创建到制定IP和端口的组合
IPEndPoint localEP = new IPEndPoint(localIP2, 8000)
Console.WriteLine("Local IPEndPoint is:{0}", localEP.ToString())
Console.WriteLine("The Address is :{0}", localEP.Address)
Console.WriteLine("The AddressFamily is:{0}",localEP.AddressFamily)
Console.ReadKey()
运行结果:
