《网络编程实用教程》课程教学资源(PPT课件讲稿)第2章 套接字网络编程基础

第2章套餐字网络编程基础 21UNⅠX套接字网络编程接口的 产生与发展 22套接字编程的基本概念 23面向连接的套接字编程 24无连接的套接字编程 25原始套接字
第2章 套接字网络编程基础 1 2.1 UNIX套接字网络编程接口的 产生与发展 2.2 套接字编程的基本概念 2.3 面向连接的套接字编程 2.4 无连接的套接字编程 2.5 原始套接字

21UNIX套接字网络编程接口的产生与发展 211问题的提出(P24) 从应用程序实现的角度,应用程序如何方便地使用协议 栈软件进行通信呢? 如果能在应用程序与协议栈软件之间提供一个软件接口, 就可以方便客户机与服务器软件的编程。UNIX系统的开发者 提出了套接字应用程序编程接口。 套接字应用程序编程接口是网络应用程序通过网络协议栈 进行通信时所使用的接口,即应用程序与协议栈软件之间的接 口,简称套接字编程接口( SocketAPl)
从应用程序实现的角度,应用程序如何方便地使用协议 栈软件进行通信呢? 2.1 UNIX套接字网络编程接口的产生与发展 2.1.1 问题的提出 (P24) 如果能在应用程序与协议栈软件之间提供一个软件接口, 就可以方便客户机与服务器软件的编程。UNIX系统的开发者 提出了套接字应用程序编程接口。 套接字应用程序编程接口是网络应用程序通过网络协议栈 进行通信时所使用的接口,即应用程序与协议栈软件之间的接 口,简称套接字编程接口(Socket API)

211问题的提出P24 套接字编程接口定义了应用程序与协议栈软件进行交互 时可以使用的一组操作,决定了应用程序使用协议栈的方式、 应用程序所能实现的功能、以及开发具有这些功能的程序的 方法。 具体地说,套接字编程接口给出了应用程序能够调用的 一组函数,每个函数完成一个与协议栈交互的基本操作
具体地说,套接字编程接口给出了应用程序能够调用的 一组函数,每个函数完成一个与协议栈交互的基本操作。 2.1.1 问题的提出 P24 套接字编程接口定义了应用程序与协议栈软件进行交互 时可以使用的一组操作,决定了应用程序使用协议栈的方式、 应用程序所能实现的功能、以及开发具有这些功能的程序的 方法

21UNIX套接字网络编程接口的产生与发展 21.,2套接字编程接口起源于UNⅨX系统(P25) 加州大学伯克利( Berkley)分校开发并推广了一个包括 TCP/IP互联协议的UNX,称为 BSD UNⅨ( Berkeley Software Distribution unⅨx)操作系统,套接字编程接口是 这个操作系统的一部分。 后来的许多操作系统并没有另外搞一套其它的编程接口, 而是选择了对于套接字编程接口的支持。包括各种UNX的派 生版,后来出现的 Windows,及各种 Linux版本
加州大学伯克利(Berkley)分校开发并推广了一个包括 TCP/IP 互联协议的 UNIX , 称 为 BSD UNIX ( Berkeley Software Distribution UNIX)操作系统,套接字编程接口是 这个操作系统的一部分。 后来的许多操作系统并没有另外搞一套其它的编程接口, 而是选择了对于套接字编程接口的支持。包括各种UNIX的派 生版,后来出现的Windows,及各种Linux版本。 2.1.2 套接字编程接口起源于UNIX系统 (P25) 2.1 UNIX套接字网络编程接口的产生与发展

21UNIX套接字网络编程接口的产生与发展 212套接字编程接口起源于UNⅨ系统(P25) 套接字规范规定了一系列有关的C函数,为在UNⅨ环境 使用TCP/IP进行网络通信提供了一套应用程序编程接口,得 以实现并广泛流传。 套接字编程接口广泛应用在各种网络编程中,成为事实上 的工业标准。 由于这个套接字规范最早是由 Berkeley大学开发的,一般 将它称为 Berkeley Sockets规范
套接字规范规定了一系列有关的C函数,为在UNIX环境 使用TCP/IP进行网络通信提供了一套应用程序编程接口,得 以实现并广泛流传。 套接字编程接口广泛应用在各种网络编程中,成为事实上 的工业标准。 由于这个套接字规范最早是由Berkeley大学开发的,一般 将它称为Berkeley Sockets规范。 2.1.2 套接字编程接口起源于UNIX系统 (P25) 2.1 UNIX套接字网络编程接口的产生与发展

21UNX套接字网络编程接口的产生与发展 213套接字编程接口的继承和发展(P25) ) Windows系统 微软公司以UNI操作系统的 Berkeley Sockets规范为范例, 定义了 Windows socktes规范,全面继承了套接字网络编程接口 详细内容将在第三章介绍。 2) Linux系统 Linux操作系统中的套接字网络编程接口几乎与UNⅨX操作 系统的套接字网络编程接口一样
1)Windows系统 微软公司以UNIX操作系统的Berkeley Sockets规范为范例, 定义了Windows Socktes规范,全面继承了套接字网络编程接口。 详细内容将在第三章介绍。 2.1.3 套接字编程接口的继承和发展 (P25) 2.1 UNIX套接字网络编程接口的产生与发展 2) Linux系统 Linux操作系统中的套接字网络编程接口几乎与UNIX操作 系统的套接字网络编程接口一样

21UNIX套接字网络编程接口的产生与发展 214套接字编程接口的两种实现方式P25 要想实现套接字编程接口,可以采用两种实现方式: 1.一种是在操作系统的内核中增加相应的软件来实现, 套接字函数是操作系统内核的一部分。 2.另一种是通过开发操作系统之外的函数库来实现。 具有与UNI套接字相同的函数名和参数。实现了程序的可 移植性,程序源代码不必改动即可移植到另一个操作系统。 只是使用时要链接库函数
要想实现套接字编程接口,可以采用两种实现方式: 1. 一种是在操作系统的内核中增加相应的软件来实现, 套接字函数是操作系统内核的一部分。 2. 另一种是通过开发操作系统之外的函数库来实现。 具有与UNIX套接字相同的函数名和参数。实现了程序的可 移植性,程序源代码不必改动即可移植到另一个操作系统。 只是使用时要链接库函数。 2.1.4 套接字编程接口的两种实现方式 P25 2.1 UNIX套接字网络编程接口的产生与发展

21UNIX套接字网络编程接口的产生与发展 215套接字通信与UNX操作系统的输入输出的关系 UNIX操作系统对文件和所有其它的输入输出设备采用 种统一的的操作模式,就是“打开-读写关闭”(open-read write- close)的ⅣO模式。 当TCPP协议被集成到UNⅨX内核中的时候,相当于在 UNIX系统中引入了一种新型的ⅣO操作,就是应用程序通过 网络协议栈来交换数据
UNIX操作系统对文件和所有其它的输入/输出设备采用 一种统一的的操作模式,就是“打开-读-写-关闭”(open - read - write - close)的I/O模式。 当TCP/IP协议被集成到UNIX内核中的时候,相当于在 UNIX系统中引入了一种新型的I/O操作,就是应用程序通过 网络协议栈来交换数据。 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 2.1 UNIX套接字网络编程接口的产生与发展

215套接字通信与UNⅨ操作系统的输入/输出的关系 在UNIX系统的实现中,套接字是完全与其他ⅣO集成在 起的。操作系统和应用程序都将套接字编程接囗也看作 种ⅣO机制。 这体现在三个方面: 1)操作的过程类似。使用套接字也像使用I/O→样“打 开-读写-关闭”模式。 2)操作方法类似。操作系统为文件、设备、进程通信、 网络通信提供单独的一组描述符,套接字通信同样使用描述 符方法 3)过程名也可以相同。例如read和 write
在UNIX系统的实现中,套接字是完全与其他I/O集成在 一起的。操作系统和应用程序都将套接字编程接口也看作一 种I/O机制。 这体现在三个方面: 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 1)操作的过程类似。使用套接字也像使用I/O一样“打 开--读写--关闭”模式。 2)操作方法类似。操作系统为文件、设备、进程通信、 网络通信提供单独的一组描述符,套接字通信同样使用描述 符方法。 3)过程名也可以相同。例如read和write

215套接字通信与UNⅨ操作系统的输入/输出的关系 但是,用户进程与网络协议的交互作用实际要比用户进 程与传统的ⅣO设备相互作用要复杂得多。首先,进行网络操 作的两个进程是在两合不同的计算机,如何连接;其次,要 建立一种通用机制来支持多种网络协议。 还有,使用套接字的应用程序必须说明许多细节。仅仅 提供open、read、 write、lose四个过程远远不够。为避免单 个套接字函数参数过多,套接字编程接口的设计者还定义了 其它多个函数
但是,用户进程与网络协议的交互作用实际要比用户进 程与传统的I/O设备相互作用要复杂得多。首先,进行网络操 作的两个进程是在两台不同的计算机,如何连接;其次,要 建立一种通用机制来支持多种网络协议。 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 还有,使用套接字的应用程序必须说明许多细节。仅仅 提供open、read、write、close四个过程远远不够。为避免单 个套接字函数参数过多,套接字编程接口的设计者还定义了 其它多个函数
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《软件工程》课程教学资源(PPT课件)Lecture 6 设计概念和原则 Design Concepts and Principles.ppt
- 西安交通大学:《微机原理与接口技术》课程教学资源(PPT课件讲稿)第6章 数字量输入输出接口(主讲:桂小林).ppt
- 香港中文大学:《Probability and Statistics for Engineers》课程教学资源(PPT课件讲稿)Chapter 09 Classical Staistical Inference.pptx
- 上海交通大学:《挖掘海量数据集 Mining Massive Datasets》课程教学资源(PPT讲稿)Lecture 07 链接分析 Link Analysis.ppt
- 《计算机仿真技术》课程电子教案(PPT教学课件)第一章 绪论.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第6章 IP路由.ppt
- 《计算机原理及应用》课程教学资源(PPT课件讲稿)第8章 单片机的存储器的扩展.ppt
- 《算法设计》课程教学资源(PPT课件讲稿)Lecture 6 Graph Traversal.ppt
- 香港浸会大学:《Data Communications and Networking》课程教学资源(PPT讲稿)Chapter 3 Data Transmission.ppt
- 南京大学:Decidability、Complexity(P、NP、NPC)、Reduce(P NP NPC).pptx
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第四章 电子表格系统Excel 2003.ppt
- 西安电子科技大学:《信息系统安全》课程教学资源(PPT课件讲稿)第三章 信息安全保障体系、第四章 物理安全.ppt
- 《计算机网络》课程电子教案(PPT课件讲稿)第2章 数据通信与广域网技术.ppt
- 《计算机网络与互联网 Computer Networks and Internets》课程电子教案(PPT课件讲稿)Part IV 局域网 Local Area Networks(LANs).ppt
- 《人工智能导论》课程教学资源(PPT课件讲稿)群智能(Swarm Intelligence).ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第六章 中断 §6.1 中断的概念 §6.2 单片机的中断系统及其管理.ppt
- 3D computer vision techniques v.4b2 1.ppt
- 上海交通大学:《计算机控制技术》课程教学资源(PPT课件)第一章 计算机控制系统概述 Computer Control Technology.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第一章 概述.ppt
- 《ARM原理与设计》课程教学资源(PPT课件讲稿)Lecture 04 Cortex M3指令集.pptx
- 《现代操作系统 Modern Operating Systems》课程教学资源(PPT课件讲稿,Third Edition)Chapter 3 内存管理 Memory Management.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第四章 串.ppt
- 东北大学:《计算机图形学》课程教学资源(PPT课件讲稿,主讲:闻时光).ppt
- 上海交通大学:超立方体 Hypercube(PPT讲稿)Low-Diameter Architectures.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第五章 多维数组与广义表.ppt
- 西南交通大学:《网络性能评估与测试 Network Performance Evaluation and Testing》(PPT课件讲稿)第2讲 网络测试技术基础(主讲:张新有).ppt
- 《Photoshop CS教程》教学资源(PPT课件)第7章 编辑文字.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)语法制导的翻译(Syntax-Directed Translation).pptx
- 电子科技大学:《密码理论》课程教学资源(PPT课件讲稿)第2章 流密码.ppt
- 搜索引擎技术(PPT讲稿)Web Spam.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第1章 导论(主讲:段磊).ppt
- 赣南师范大学:《计算机网络原理》课程教学资源(PPT课件讲稿)第七章 网络层.ppt
- 《人工智能》课程电子教案(PPT课件讲稿)第9章 机器学习与知识发现.ppt
- 《数字图像处理》课程教学资源(PPT课件讲稿)第7章 图像分割.ppt
- 《编译原理》课程教学资源(PPT课件讲稿)第五章 语法制导的翻译 5.1 语法制导的定义 5.2 S属性定义的自下而上计算.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.3 Semaphores.ppt
- 淮阴工学院:《数据库原理》课程教学资源(PPT课件讲稿)第2章 数据库系统结构.ppt
- 苏州大学:文档评分与向量空间模型(PPT讲稿).ppt
- 清华大学:Computational Models for Social Network Analysis(PPT讲稿)mining big social networks(Part III:Group and Structure).pptx
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第一章 计算机网络安全概述2/2(主讲:肖明军).ppt