网络编程实用教程.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章 网络编程基础;1.1 网络编程相关的基本概念;1.1 网络编程相关的基本概念;一个进程可以包含若干个线程,同时执行进程地址空间中的代码。 当创建一个进程时,系统会自动创建它的第一个线程,称为主线程。 然后,该线程可以创建其他的线程,而这些线程又能创建更多的线程。 每个线程拥有自己的一组CPU寄存器和堆栈。 进程至少拥有一个线程,否则将被撤销。 Windows 2000能在有多个CPU的计算机上运行,每个CPU上运行不同的线程,达到多线程运行。 ;图1.1 单CPU分时地运行进程中的各个线程;2.网络应用进程在网络体系结构中的位置 从计算机网络体系结构的角度来看,网络应用进程处于网络层次结构的最上层。 从功能上,可以将网络应用程序分为两部分: 专门负责网络通信的模块,它们与网络协议栈相连接,借助网络协议栈提供的服务完成网络上数据信息的交换。 面向用户或者作其他处理的模块,它们接收用户的命令,或者对借助网络传输过来的数据进行加工。 两部分模块相互配合来实现网络应用程序功能。 ;图1.2 网络应用程序在网络体系结构中的位置;网络应用程序这两部分的关系: 通信模块,是网络分布式应用的基础; 其他模块,对网络交换的数据进行加工处理。 网络应用程序要实现网络资源的共享,共享的基础就是必须能够通过网络轻松地传递各种信息。 网络编程首先要解决网间进程通信的问题。然后才能在通信的基础上开发各种应用功能。;3.实现网间进程通信必须解决的问题 网间进程通信,是指网络中不同主机中的应用进程之间的相互通信问题,必须解决以下问题: 网间进程的标识问题(不能只用进程号标识); 如何与网络协议栈连接的问题(通过定义套接字网络编程接口来解决); 多重协议识别问题(不同协议工作方式不同); 不同的通信服务的问题(要求不同,如文件传输要求可靠、无差错、无乱序、无丢失,网络聊天要求不高,可选TCP和UDP服务)。;1.传输层在网络通信中的地位;传输层是计算机网络中,通信主机内部进行独立操作的第一层,是支持端到端的进程通信的关键的一层。;2.端口的概念 端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口。 在OSI七层协议描述中,将其称为应用层进程与传输层协议实体间的服务访问点(SAP)。 应用层进程通过系统调用与某个传输层端口进行绑定,然后通过该接口接收或发送数据。 类似于文件描述符,每个端口都拥有一个叫作端口号(port number)的16位整数型标识符。 可以用端口标识通信的网络应用程序。;传输层TCP和UDP两个协议是完全独立的软件模块,因此各自的端口号也独立。 如同所示都可以提供65535个端口。 端口是操作系统可分配的一种资源。;从实现的角度讲,端口是一种抽象的软件机制,包括一些数据结构和I/O缓冲区。 在TCP/IP实现中端口操作类似于一般的I/O操作。 进程获取一个端口,相当于获取本地唯一的I/O文件,可以用一般的读写原语访问。;3.端口号的分配机制 网络进程通信前必须获知对方的进程地址。 由于网络应用程序大多采用C/S模式开发,通信总是由客户机发起,因此事先只需让客户机知道服务器的进程地址即可。 Internet中为客户服务的众所周知的服务有限。 TCP/IP协议采用了全局分配(静态分配)和本地分配(动态分配)相结合的分配方法。 对于TCP或UDP,将它们的全部65535个端口号分为保留端口号和自由端口号两部分。;保留端口号,范围是0-1023,又称为众所周知的端口或熟知端口(well-known port),只占少数,采用全局分配或集中控制的方式,由一个公认的中央机构根据需要进行统一分配,静态地分配给因特网上著名的众所周知的服务器进程,并将结果公布于众。 ;自由端口号,范围是1024-65535,采用本地分配,又称为动态分配。 TCP或UDP端口的分配规则是: 端口0:不使用,或者作为特殊的使用; 端口1-255:保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务; 端口256-1023:保留给其他的服务,如路由; 端口1024-4999:可用作任意客户的端口; 端口5000-65535:可用作用户的服务器端口。 ;在这样的端口分配机制下,客户进程C与服务器进程S第一次通信的情景。;为确保服务器进程为多个客户机进程服务,服务器的保留端口是专门用来监听客户端的连接请求的。 当服务器从保留端口接收到一个客户机的请求后,立即创建另外一个线程,并为这个线程分配一个保留端口(在5000-65535选择分配),然后继续接收新的客户机请求。;4.进程的网络地址的概念 在因特网中,用一个三元组可以在全局中唯一地标识一个应用层进程: 应用层进程

文档评论(0)

phltaotao + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档