第10章--C#网络通信编程技术.ppt
文本预览下载声明
10.5 综合应用 (3)添加命名空间 所要添加的命名空间为: using System.Net; using System.Net.Sockets; using System.IO; using System.Threading; (4)添加事件及代码 切换到窗体设计器中,分别双击3个按钮,添加事件及代码,代码如下所示。 10.5 综合应用 (5)运行程序 按“Ctrl+F5”组合键运行此程序,为了方便,在这里目标计算机IP地址就输入本机IP地址“04”,昵称设置为“沙漠之鹰”,单击“开始监听”按钮,输入发送内容,单击“发送消息”按钮,结果如图10.11所示。 图10.11 聊天系统 第10章 C#网络通信编程技术 10.1 网络通信的方式 10.2 Dns类 10.3 System.Net.Sockets命名空间 10.4 开发网络通信应用程序 10.5 综合应用 10.1 网络通信的方式 (1)同步方式 同步方式是指发送方发送数据包以后,不等接收方响应,就接着发送下一个数据包。 (2)异步方式 异步方式是指当发送方发送一个数据包以后,一直等到接收方响应后,才可以发送下一个数据包。 (3)阻塞套接字 阻塞套接字是指在执行此套接字的网络调用时,直到调用成功才返回,否则此套接字就一直阻塞在网络调用上。 (4)非阻塞套接字 非阻塞套接字是指在执行此套接字的网络调用时,不管是否执行成功,都立即返回。 10.2 Dns类 Dns类的常用方法及说明如表10.1所示。 方 法 名 称 说 明 BeginGetHostAddresses 异步返回指定主机的Internet协议(IP)地址 BeginGetHostEntry 已重载。将主机名或IP地址异步解析为IPHostEntry实例 EndGetHostAddresses 结束对DNS信息的异步请求 EndGetHostEntry 结束对DNS信息的异步请求 GetHostAddresses 返回指定主机的Internet协议(IP)地址 GetHostByAddress 已重载。获取IP地址的DNS主机信息 GetHostName 获取本地计算机的主机名 GetType 获取当前实例的类型 GetHostEntry 将主机名或IP地址解析为IPHostEntry实例 表10.1 Dns类的常用方法及说明 10.2 Dns类 【例EX10_1】设计WinForm应用程序用于获取指定主机名的IP地址。 设计步骤如下: (1)新建WinForm项目 新建WinForm项目并命名为“EX10_1”。 (2)添加控件并设置属性 在Form1的设计视图中将此窗体调整到适当的大小并将 “Text”属性设置为“获取主机IP地址”。从工具箱中拖曳1个Button、2个Label和2个TextBox控件到窗体中,如图10.1所示布局控件。将label1、label2和button1的Text属性值分别设置为“主机名”、“IP地址:”和“获取”。 (3)添加命名空间 所要添加的命名空间为“using System.Net;”。 10.2 Dns类 (4)添加事件及代码 双击“获取”按钮,其事件代码如下所示: private void button1_Click(object sender, EventArgs e) { textBox2.Text = ; try { IPHostEntry hostInfo = Dns.GetHostEntry(textBox1.Text.Trim()); foreach (IPAddress ipadd in hostInfo.AddressList) { textBox2.Text += ipadd.ToString() + \r\n; } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } 10.2 Dns类 (5)运行程序 按“Ctrl+F5”组合键运行程序,分别输入“”和“”,单击“获取”按钮,结果如图10.1和图10.2所示。 图10.1 “”的IP地址 图10.2 “”的IP地址 10.3 System.Net.Sockets命名空间 (1)Socket类:用于管理连接,实现Berkeley通信端接口,定义绑定、连接网络端点以及传输数据所需的方法,提供处理端点连接传输等细节所需要的功能。WebRequest、TcpClient和UdpClinet等类在内部使用这个类。 (2)
显示全部