- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第1章 网络编程基础 杨 明 紫金学院计算机系 教学内容和安排 内容 网络编程相关的基本概念 网络通信方式 套接字编程模型 网络编程说明 Web开发 基于WWW的网络应用编程技术,包括网页制作工具,动态服务器页面制作技术。 相对高端、网站类应用 开发支撑平台是Web服务器,如ASP、JSP和PHP等。 网络编程 基于TCP/IP协议栈,主要是使用各种编程语言,利用操作系统提供的套接字网络编程接口,直接开发各种网络应用。 相对中低端,编程者自由度大,可编写各种网络应用。 开发支撑平台是网络操作系统,编程语言的选择:C/C++ 网络编程与进程通信 网络编程 网络应用程序最终要实现网络资源的共享 网络编程首先要解决网间进程通信的问题,然后才能在通信的基础上开发各种应用功能。 网间进程通信 进程 处于运行过程中的程序实例,是操作系统调度和分配资源的基本单位。 网间进程通信是指网络中不同主机中的应用进程之间的相互通信问题 网间进程通信必须解决以下问题 网间进程的标识问题 如何与网络协议栈连接的问题 多重协议的识别问题 不同的通信服务的问题 计算机网络的分层模型 协议 控制两个对等实体进行通信而建立的规则、标准或约定 服务 每层为相邻上一层提供的功能。 协议是“水平的” 即协议是控制对等实体之间通信的规则。 服务是“垂直的” 服务是由下层向上层通过层间接口提供的。 开放系统互联参考模型 TCP/IP协议栈模型 TCP/IP协议族 Internet中网间进程的标识 传输层 是计算机网络中通信主机内部进行独立操作的第一层,是支持端到端的进程通信的关键一层。 应用层的源进程将报文发送给运输层的某个服务访问点,而应用层的目的进程从这个访问点接收报文。 Internet中网间进程的标识 端口( port ) 端口是TCP/IP协议族中,应用层进程与传输层协议实体间的通信接口 TCP/IP协议提出了传输层协议端口的概念,成功地解决了通信进程的标识问题。 类似于文件描述符,每个端口都拥有一个叫作端口号(port number)的整数型标识符。 从实现的角度讲,端口是一种抽象的软件机制,包括一些数据结构和I/O缓冲区。 UDP与TCP的报文格式 端口号的分配机制 对于TCP,或者UDP,将它们的全部65535个端口号分为保留端口号和自由端口号两部分。 熟知端口:0—1023,全局分配(静态分配) 自由端口号:1024-65535,本地分配(动态分配) TCP或UDP端口的分配规则是: 端口0:不使用,或者作为特殊的使用; 端口1-255:保留给特定的服务,TCP和UDP均规定,小于256的端口号才能分配给网上著名的服务; 端口256-1023:保留给其他的服务,如路由; 端口1024-4999:可以用作任意客户的端口; 端口5000-65535:可以用作用户的服务器端口。 使用端口的通信示例 使用端口的通信示例 如何实现服务器同时为多个客户机服务? Internet中网间进程的标识 进程的网络地址 在因特网络中,用一个三元组可以在全局中唯一地标识一个应用层进程 进程网络地址=(传输层协议,主机的IP地址,传输层的端口号) 网络中进程的通信标识 一个完整的网间通信需要两个进程组成,构成通信的两端 五元组:(传输层协议,本地机IP地址,本地机传输层端口,远地机IP地址,远地机传输层端口) 网络通信方式 两类通信方式 面向无连接的通信和面向连接的通信 面向无连接的通信 无连接服务是邮政系统服务的抽象,每个分组都携带完整的目的地址,各分组在系统中独立传送。 传输层的用户数据报协议(UDP)是一种尽力传送的无连接的不保障可靠的传输服务 是一种保护消息边界的数据报传输。 保护消息边界的数据报传输 面向连接的通信 面向连接的通信 面向连接服务是电话系统服务模式的抽象,即每一次完整的数据传输都要经过建立连接,使用连接,终止连接的过程。 传输控制协议 (TCP)应用层进程提供一个面向连接的、端到端的、完全可靠的全双工的流传输服务。 无消息边界的流传输服务 阻塞通信与非阻塞通信 阻塞的概念 阻塞是指一个进程执行了一个函数或者系统调用,该函数由于某种原因不能立即完成,因而不能返回调用它的进程,导致进程受控于这个函数而处于等待的状态,进程的这种状态称为阻塞。 阻塞通信与非阻塞通信 通信模式对应用程序设计方法有直接的影响 非阻塞模式 应用程序不断轮询查看是否有数据达到或有连接请求到达,这种轮询方式比其他的技术耗费更多的CPU资源,因此要尽量避免使用。 阻塞模式 不存在这一问题,但阻塞模式的缺点是进程在执行I/O操作时将被阻塞而不能执行其他的工作。 在多线程中比较适合阻塞模式,因为当一个线程被阻塞时不影响其他线程的工作。
您可能关注的文档
- 定向井技术(第五章第一节)试题.ppt
- 初中英语教师课堂语言表达试题.ppt
- xl柳永《凤栖梧》试题.ppt
- 定向井水平井钻井技术知识(钻井监督)2013试题.ppt
- 初中语文修辞手法练习及表现手法辨析试题.ppt
- 定向钻井技术试题.ppt
- xl美丽的西双版纳试题.ppt
- 第1章矿山供电系统及设备1试题.ppt
- 初中语文综合性学习活动试题.ppt
- 初中语文作文教学:人物描写试题.ppt
- 初中语文经典古文教学的有效性分析教学研究开题报告教学研究课题报告.docx
- 初中语文筛选与分析课文的方法探讨教学研究课题报告.docx
- 高中生物课程改革的挑战与对策教学研究课题报告.docx
- 高中生创造性思维训练的途径教学研究课题报告.docx
- 高中生科学实验报告写作的指导方法教学研究课题报告.docx
- 高中物理教学中概念图的应用实证研究教学研究课题报告.docx
- 教师情绪管理对教学效果的影响研究教学研究课题报告.docx
- 教师在课堂观察中的有效反馈机制研究教学研究课题报告.docx
- 初中生学习方式的变迁与教育应对教学研究课题报告.docx
- 初中生自我管理能力培养的研究教学研究课题报告.docx
文档评论(0)