1、网络编程基础
System.Net、System.Net.Sockets和System.Net.Mail这三个命名空间提供了网络编程中用到的多数类,下面对这三个命名空间及他们包含的主要类进行详细讲解。
(1)System.Net命名空间
System.Net命名空间为当前网络上使用的多种协议提供了简单的编程接口,而他所包含的WebRequest类和WebResponse类形成了所谓可插接式协议的基础,可插接式洗衣是网络服务的一种实现,它是用户能够开发出使用Internet资源的应用程序,而不必考虑各种不同协议的具体细节。
I.DNS类
DNS类(静态类)提供简单的域名解析功能,他从Internet域名系统(DNS)检索关于特定主机的信息。通常在IPHostEntey类的实例中返回来自DNS查询的主机信息。DNS类中的常用方法:
GetHostAddresses:返回指定主机的Internet协议(IP)地址。
GetHostByAddress:获取IP地址的DNS主机信息。
GetHostByName:获取指定DNS主机名的DNS信息。
GetHostEntry:将主机名或IP地址解析为IPHostEntry实例。
GetHostName:获取本地计算机的主机名。
注意:通常在IPHostEntry类的实例中返回来自DNS查询的主机信息,如果指定的主机在DNS数据库中有多个入口,则IPHostEntry包含多个IP地址和别名。
示例程序:
创建windows窗口程序
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == string.Empty)
{
MessageBox.Show("主机地址中不可为空");
}
else
{
textBox2.Text = string.Empty;
IPAddress[] ips = Dns.GetHostAddresses(textBox1.Text);
//获取指定主机的IP地址
foreach (IPAddress ip in ips)
{
textBox2.Text = ip.ToString();
}
textBox3.Text = Dns.GetHostName();//获取本机名
textBox4.Text = Dns.GetHostByName(Dns.GetHostName()).HostName;
}
}
}
II.IPAddress类
IPAddress类包含计算机在IP网络上的地址,它主要用来提供网际协议(IP)地址。IPAddress类的常用字段、属性、方法和说明:
Any字段:提供一个IP地址,指示服务器应该侦听所有网络接口上的客户端活动。此字段为只读。
Address属性:网际协议(IP)地址。
AddressFamily属性:获取 IP地址的地址表。
GetAddressBytes方法:以字节数组形式提供IPAddress的副本。
Parse方法:将IP地址字符串转换成IPAddress的