第1章 进程、线程与网络协议0.pptVIP

  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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * 1.2.4 IPEndPoint类 在C#中,IPEndPoint类包含了应用程序连接到主机上的服务所需的IP地址和端口信息。 IPEndPoint类常用的构造函数为:  public IPEndPoint(IPAddress, int); 其中第一个参数指定IP地址,第二个参数指定端口号。 例 :IPAddress类、Dns类、IPHostEntry类和IPEndPoint类的使用方法。 * 1.3 套接字   套接字是支持TCP/IP协议的网络通信的基本操作单元。可以将套接字看作不同主机间的进程进行双向通信的端点,它构成了单个主机内及整个网络间的编程界面。   套接字有两种不同的类型:流套接字和数据报套接字。   要通过互联网进行通信,至少需要一对套接字,其中一个运行于客户端,称之为ClientSocket,另一个运行于服务器端,称之为ServerSocket。 * 1.3 套接字(续)   根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。  服务器监听:指服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。  客户端请求:指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。  连接确认:指当服务器端套接字监听到或接收到客户端套接字的连接请求时,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的信息发给客户端,一旦客户端确认了此信息,连接即可建立。 * 1.3 套接字(续)   套接字处理数据有两种模式:同步套接字和异步套接字。  同步套接字  其特点是在通过Socket进行连接、接收、发送操作时,客户机或服务器在接收到对方响应前会处于阻塞状态。它适用于数据处理不太多的场合。  异步套接字  在通过Socket进行连接、接收、发送操作时,客户机或服务器不会处于阻塞方式,而是利用callback机制进行连接、接收和发送处理,这样就可以在调用发送或接收的方法后直接返回,并继续执行下面的程序。 * 1.3.2 面向连接的套接字 IP连接领域有两种通信类型: 面向连接的(connection-oriented)  在面向连接的套接字中,使用TCP协议来建立两个IP地址端点之间的会话。一旦建立了这种连接,就可以在设备之间可靠的传输数据。 无连接的(connectionless)  为了建立面向连接的套接字,服务器和客户端必须分别进行编程。 对于服务器端程序,建立的套接字必须绑定到用于TCP通信的本地IP地址和端口上。 * 1.3.2 面向连接的套接字(续)  Bind方法用于完成绑定工作:  Bind(IPEndPoint address)   Address为IPEndPoint的实例,该实例包括一个本地IP地址和一个端口号。在套接字绑定到本地之后,就用Listen方法等待客户机发出的连接尝试:  Listen(int backlog)  Backlog参数指出系统等待用户程序服务排队的连接数,超过连接数的任何客户都不能与服务器进行通信。  在Listen方法执行之后,服务器已经做好了接收任何引进连接的准备,这是用Accept方法来完成的,当有新客户进行连接时,该方法就返回一个新的套接字描述符。 * 1.3.3 无连接的套接字  UDP协议使用无连接的套接字,不需要在网络设备之间发送连接信息。 UDP客户机不需要Connect方法。  由于不存在确定的连接,所以可以直接使用SendTo方法和ReceiveFrom方法发送和接收数据,在两个设备之间的通信结束之后,可以像TCP中使用的方法一样,对套接字使用Shutdown和Close方法。  需要接收数据时,必须使用Bind方法将套接字绑定到一个本地地址/端口对上后才能使用ReceiveFrom方法接收数据,如果只发送而不接收,则不需要使用Bind方法。 * 1.4 网络流  流(stream)是对串行传输的数据的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等。  流有三种基本的操作:写入、读取和查找。  若数据从内存缓冲区传输到外部源,这样的流叫作“写入流”。若数据从外部源传输到内存缓冲区,这样的流叫作“读取流”。  C#在System.Net.Sockets名称空间中提供了一个专门的NetworkStream类

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档