C#应用程序设计教程 第2版 教学课件 作者 耿肇英 周真真 耿燚 第8章 Socket编程初步.pptVIP

C#应用程序设计教程 第2版 教学课件 作者 耿肇英 周真真 耿燚 第8章 Socket编程初步.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 Socket编程初步 学习目的 认识TCP/IP协议和Socket 能够掌握基于TCP协议的Socket编程 能够掌握基于UDP协议的Socket编程 主要内容 8.1 TCP/IP协议和Socket 8.2 基于TCP协议的Socket编程 8.3 基于UDP协议Socket编程 8.1 TCP/IP协议和Socket 8.1.1 TCP/IP协议 把分布在不同地理区域的计算机和网络设备利用通信设备互连,使各个计算机之间能够相互通信,实现信息和资源共享,就组成了计算机网络。网络的目的是为了通信,共享资源。通信即传输数据,为了传输数据各个网络系统应遵守一定规则,这个规则叫网络传输协议。当前广泛采用的网络协议是TCP/IP协议。 网络中有成千上万台计算机,应允许任何两台计算机之间进行通信,为了区分不同的计算机,必须给每一台连网计算机一个唯一的编号,这个编号在TCP/IP协议中叫计算机的IP地址,它是一个32位二进制数,一般用四个十进制数表示,中间用点隔开,每个十进制数允许值为0-255(一个字节),例如,05,这种记录方法叫点数记法。一个计算机要和网络中其他计算机连接,必须有自己的IP地址。C#语言使用IPAddress类表示IP地址,用静态方法Parse可将IP地址字符串转换为IPAddress实例。 例如: IPAddress ip = IPAddress.Parse(“”); //表示本机IP地址 IPAddress类提供了几个静态只读字段,其中字段Any表示本地系统所有可用的IP地址,字段Broadcast表示本地网络广播地址。 Dns类提供了一系列静态的方法,其中GetHostAddresses方法获取指定主机的IP地址,返回一个IPAddress类型的数组。 例如: IPAddress[] ip=Dns.GetHostAddresses(); //获得CCTV网站的所有IP地址 Dns类GetHostName方法,获取本机主机名。例如: string hostname = Dns.GetHostName(); IPAddress[] ip=Dns.GetHostAddresses(hostname); 一台计算机上可能运行多个网络通信软件,它们的IP地址是相同的。为了访问IP地址相同的不同网络通信软件,可为运行的每个网络通信软件编号,这个编号叫端口号。 IPEndPoint类包含了IP地址和端口信息,IPEndPoint类常用的构造函数 public IPEndPoint(IPAddress, int); //第一个参数指定IP地址,第二个参数指定端口号 8.1.1 套接字(Socket) 套接字可以理解为编写网络通信软件的函数库,在套接字中封装了为进行网络通信而设计的一组公共函数,网络通信软件通过调用这些公共函数,完成和在网络其他计算机中运行的指定网络通信软件间的双向通信。在.Net中,System.Net.Sockets 命名空间为开发人员提供了开发基于Socket套接字的网络通信程序的一些类,包括Socket类、TcpClient类、TcpListener类和UdpClient类,如果开发基于TCP/IP网络协议网络通信程序,可以使用TcpClient类、TcpListener类和UdpClient类,使用上比较简单,本书所有例子基本上都是使用这三个类。如果为了提高效率或者采用其他网络通信协议,可采用Socket类。 套接字有两种不同的类型:一种是流套接字,又称面向连接的协议,如 TCP;另一种是数据报套接字,又称无连接协议,例如 UDP。 网络连接,一旦建立了这种连接,就可以在设备之间可靠的传输数据,建立连接后数据以流的形式在被连接的两个计算机中运行程序间进行流动。这有些像打电话。基于流套接字的网络通信一般采用客户机/服务器模式。 基于数据报套接字,采用不连接方式,两个计算机中运行程序间使用单个信息包进行数据传输,这种方式类似邮局,不保证数据包按照发送顺序传送,也可能丢失。 Socket类的构造方法定义如下,其中,addressFamily 参数指定 Socket 使用的寻址方案,socketType 参数指定 Socket 的类型,protocolType 参数指定 Socket 使用的协议。 public Socket(AddressFamily addressFamily,SocketType socketType, ProtocolType protocolType); 生成基于 TCP协议的Socket类对象的例子如下: Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, Protoc

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档