《网络程序设计》第2章ppt课件.ppt

《网络程序设计》第2章ppt课件.ppt

ID:58862963

大小:1.95 MB

页数:105页

时间:2020-09-30

《网络程序设计》第2章ppt课件.ppt_第1页
《网络程序设计》第2章ppt课件.ppt_第2页
《网络程序设计》第2章ppt课件.ppt_第3页
《网络程序设计》第2章ppt课件.ppt_第4页
《网络程序设计》第2章ppt课件.ppt_第5页
资源描述:

《《网络程序设计》第2章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、UNIX套接字网络编程接口的产生与发展过程套接字与UNIX操作系统的关系套接字编程的基本概念面向连接的套接字编程无连接的套接字编程原始套接字Linux系统的网络编程接口本章提要第2章UNIX中的套接字网络编程接口2.1.1问题的提出站在应用程序实现的角度,应用程序如何方便地使用协议栈软件进行通信呢?如果能在应用程序与协议栈软件之间提供一个软件接口,就可以方便客户与服务器软件的编程。2.1UNIX套接字网络编程接口的产生与发展套接字应用程序编程接口是网络应用程序通过网络协议栈进行通信时所使用的接口,即

2、应用程序与协议栈软件之间的接口,简称套接字编程接口(SocketAPI)。它定义了应用程序与协议栈软件进行交互时可以使用的一组操作,决定了应用程序使用协议栈的方式、应用程序所能实现的功能、以及开发具有这些功能的程序的难度。2.1UNIX套接字网络编程接口的产生与发展加州大学伯克利(Berkley)分校开发并推广了一个包括TCP/IP互联协议的UNIX,称为BSDUNIX(BerkeleySoftwareDistributionUNIX)操作系统,套接字编程接口是这个操作系统的一个部分。后来的许多操作

3、系统并没有另外搞一套其它的编程接口,而是选择了对于套接字编程接口的支持。由于这个套接字规范最早是由Berkeley大学开发的,一般将它称为BerkeleySockets规范。2.1.2套接字编程接口的起源与应用要想实现套接字编程接口,可以采用两种实现方式:一种是在操作系统的内核中增加相应的软件,网络程序中用系统调用的方法来实现(Unix/Linux)一种是通过开发操作系统之外的函数库,网络程序中采用调用库函数的方法来实现(Windows)2.1.3套接字编程接口的两种实现方式UNIX操作系统对文件和

4、所有其它的输入/输出设备采用一种统一的的操作模式,就是“打开-读-写-关闭”(open-read-write-close)的I/O模式。当TCP/IP协议被集成到UNIX内核中的时候,相当于在UNIX系统中引入了一种新型的I/O操作,就是应用程序通过网络协议栈来交换数据。2.1.4套接字通信与UNIX操作系统的输入/输出在UNIX系统的实现中,套接字是完全与其他I/O集成在一起的。操作系统和应用程序都将套接字编程接口也看作一种输入/输出机制。但是,用户进程与网络协议的交互作用实际要比用户进程与传统的

5、I/O设备相互作用要复杂得多。2.1.4套接字通信与UNIX操作系统的输入/输出其次,使用套接字的应用程序必须说明许多细节。仅仅提供open、read、write、close四个过程远远不够。为避免单个套接字函数参数过多,套接字编程接口的设计者定义了多个函数。2.1.4套接字通信与UNIX操作系统的输入/输出2.2套接字编程的基本概念套接口是对网络中不同主机上应用进程之间进行双向通信的端点的抽象,一个套接口就是网络上进程通信的一端,提供了应用层进程利用网络协议栈交换数据的机制。图2.1电插座与电话插

6、座的作用2.2.1什么是套接字(SOCKET)2.2.1什么是套接字(SOCKET)?我们应当从多个层面来理解套接字这个概念的内涵。从套接字所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议栈进行通信的接口,是应用程序与网络协议栈进行交互的接口。图2.2应用进程、套接口、网络协议栈及操作系统的关系进程、套接口、协议栈、操作系统的关系从实现的角度来讲,非常复杂。套接字是一个复杂的软件机构,包含了一定的数据结构,包含许多选项,由操作系统内核管理。从使用的角度来讲,非常简单。对于套

7、接字的操作形成了一种网络应用程序的编程接口(API)。本书把这一套操作套接字的编程接口函数称作套接字编程接口,套接字是它的操作对象。总之,套接字是网络通信的基石。套接字编程接口2.2.2套接字的特点1.通信域套接字存在于通信域中,通信域是为了处理一般的进程通过套接字通信而引入的一种抽象概念,套接字通常只和同一域中的套接字交换数据。如果数据交换要穿越域的边界,就一定要执行某种解释程序。本课程中,仅仅针对Internet域,并且使用Internet协议族(即TCP/IP协议族)来通信。2.套接字具有三种

8、类型每一个正被使用的套接字都有它确定的类型,只有相同类型的套接字才能相互通信。(1)数据报套接字(DatagramSOCKET)数据报套接字提供无连接的、不保证可靠的独立的数据报传输服务。在Internet通信域中,数据报套接字使用UDP数据报协议形成的进程间通路,具有UDP协议为上层所提供的服务的所有特点。数据报套接字基于UDP协议图2.3在Internet通信域中,数据报套接字基于UDP协议(2)流套接字(StreamSOCKET)流套接字提供双向的、有序的、无重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。