电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第10章 C#网络通信编程技术VIP免费

第10章  C#网络通信编程技术_第1页
1/31
第10章  C#网络通信编程技术_第2页
2/31
第10章  C#网络通信编程技术_第3页
3/31
第第1010章章C#C#网络通信编程技网络通信编程技术术10.1网络通信的方式10.2Dns类10.3System.Net.Sockets命名空间10.4开发网络通信应用程序10.5综合应用10.110.1网络通信的方式网络通信的方式(1)同步方式同步方式是指发送方发送数据包以后,不等接收方响应,就接着发送下一个数据包。(2)异步方式异步方式是指当发送方发送一个数据包以后,一直等到接收方响应后,才可以发送下一个数据包。(3)阻塞套接字阻塞套接字是指在执行此套接字的网络调用时,直到调用成功才返回,否则此套接字就一直阻塞在网络调用上。(4)非阻塞套接字非阻塞套接字是指在执行此套接字的网络调用时,不管是否执行成功,都立即返回。10.2Dns10.2Dns类类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.1Dns类的常用方法及说明10.2Dns10.2Dns类类【例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)添加命名空间所要添加的命名空间为“usingSystem.Net;”。10.2Dns10.2Dns类类(4)添加事件及代码“”双击获取按钮,其事件代码如下所示:privatevoidbutton1_Click(objectsender,EventArgse){textBox2.Text="";try{IPHostEntryhostInfo=Dns.GetHostEntry(textBox1.Text.Trim());foreach(IPAddressipaddinhostInfo.AddressList){textBox2.Text+=ipadd.ToString()+"\r\n";}}catch(Exceptionex){MessageBox.Show(ex.Message.ToString());}}10.2Dns10.2Dns类类(5)运行程序按“Ctrl+F5”组合键运行程序,分别输入“www.baidu.com”和“baidu.com”,单击“获取”按钮,结果如图10.1和图10.2所示。图10.1“www.baidu.com”的IP地址图10.2“baidu.com”的IP地址10.310.3System.Net.SocketsSystem.Net.Sockets命名空间命名空间(1)Socket类:用于管理连接,实现Berkeley通信端接口,定义绑定、连接网络端点以及传输数据所需的方法,提供处理端点连接传输等细节所需要的功能。WebRequest、TcpClient和UdpClinet等类在内部使用这个类。(2)TcpClient类:允许创建和使用TCP连接,该类创建于Socket类的基础之上.并且封装了许多更高级的功能,避免开发人员处理连接操作的相关细节。(3)TcpListener类:允许监听传入的TCP连接请求,监听来自TCP客户端应用程序的连接要求,封装更高级的功能,使用这个类可以让用户避免处理一些连接服务的细节,以一种比较有效的方式,接收监听的连接需求。(4)UdpClinet类:提供用户数据报(UDP)网络服务。(5)NetWorkStream类:这个类是从Stream派生出来的,专门用以处理网络形式的数据流,与其他文件数据流的显著区别在于,这个类接收Socket类对象参数,对网络数据进行存取操作。10.3.110.3.1套接字(套接字(SocketSocket))应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为套接字(Socket)的接口,如图10.3所示。图10.3套接字示意图10.3.110.3.1套接字(套接字(SocketSocket))在基于TCP/IP的网络上进行通信的关键代码如下:...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第10章 C#网络通信编程技术

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部