第13章:Socket编程及其应用实例

第13章:Socket编程及其应用实例

ID:44945778

大小:553.00 KB

页数:52页

时间:2019-11-05

第13章:Socket编程及其应用实例_第1页
第13章:Socket编程及其应用实例_第2页
第13章:Socket编程及其应用实例_第3页
第13章:Socket编程及其应用实例_第4页
第13章:Socket编程及其应用实例_第5页
资源描述:

《第13章:Socket编程及其应用实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第13章Socket编程技术Socket编程接口是设计TCP/IP应用程序的标准,在IPv6下利用Socket编程,须处理128位的IPv6地址。本章介绍的Socket编程,在今后相当长的一段时期内IPv6将与IPv4共存,因此把IPv6下的Socket编程与IPv4下的Socket编程对照起来进行介绍。本章的主要内容有:l客户、服务器和协议;lBerkeley套接字基础;lTCP套接字编程;lUDP套接字编程。总目录13.1客户、服务器和协议13.2Berkeley套接字基础13.3TCP套接字编程第13章Socket编程技术总目录13.4UDP套接字编程总目录13.1客

2、户、服务器和协议大多数网络应用系统采用客户/服务器模式(Client/Server),例如Web浏览器访问Web服务器;FTP客户和FTP服务器之间进行文件传送等等。在这种模式中客户应用程序向服务器程序请求服务。不断增长的网络应用系统对等应用程序(称为peer-to-peer模式)也可看作是客户/服务器模式的特殊情况,在对等情景中,连接的两端是平等的。客户与服务器既可以处于同一局域网,也可以通过路由器跨广域网连接,但无论如何,它们之间的通信都涉及网络通信协议——TCP/IP协议族。图13-1给出了客户与服务器在TCP/IP协议栈中的实际数据流。值的注意的是,客户与服务器是典

3、型的用户进程,而它们的下层(如TCP、IP协议等)则通常是系统内核的一部分。在一个较长的时期,IPv4和IPv6协议将会共同存在,需要应用程序能够同时支持IPv4和IPv6协议。总目录图13-1客户与服务器使用TCP/IP协议进行通信总目录13.2Berkeley套接字基础本节内容:13.2.1套接字分析13.2.2套接字寻址13.2.3字节排序函数13.2.4地址转换函数12.2.5域名与地址转换函数13.2.6双协议栈主机总目录BerkeleySockets(又称为“套接字”)是网络编程API(ApplicationProgrammingInterface,应用程序编程

4、接口)的一部分,它指定了和操作系统的网络子系统相互作用的数据结构和函数调用。BerkeleySockets一般工作在传输层之上,提供给应用程序开发者一套简单的编程界面。应用程序通过调用BerkeleySockets的API来实现相互之间的通讯,BerkeleySockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。它们之间的关系如右图所示。总目录13.2.1套接字分析进程之间通信的基础是套接字。可以利用它来给其它进程发送数据,也可以通过它从其它进程获取我们所需要的数据。为了创建一个套接字,需要提供最少三个参数:套接字域、套接字类型、套接字协议。1.套接字

5、域BerkeleySocket是API的一部分,而非特定的协议。尽管和TCP/IP协议极有关联,API最初就是为TCP/IP协议设计的,但Berkeley套接字也相当通用,它支持其他的网络协议,例如NovellNetware、Appletalk等。域(domain)定义了网络协议族(family)及其套接字将支持的寻址方案。表13-1列出了几个可能的域类型。常量描述AF_UNIXUNIX主机内部的进程间的通信AF_INETARPA网际协议(IPv4协议)AF_INET6ARPA网际协议(IPv6协议)AF_ROUTE路由套接字AF_ISO国际标准组织协议AF_NSXerox

6、网络协议总目录2.套接字类型套接字类型用于标识通信的基本特征。表13-2列出了套接字所支持的几种类型。类型描述SOCK_STREAM字节流套接字,提供面向连接的、可靠的通信服务。SOCK_DGRAM数据报套接字,提供无连接的、不可靠的通信服务。SOCK_RAW原始套接字,用于对内部协议和接口的访问。总目录3.套接字协议对于给定的套接字域和类型,可能有一个或多个协议实现所需的操作。表13-3列出了一些常用的套接字协议。一般来说,套接字协议取值为0,除非用在原始套接字上。值得注意的是,并非所有套接字域和类型的组合都是有效的,表13-4给出了一些有效组合和对应的真正协议。其中标为

7、“Yes”的项也是有效的,但还没有找到便捷的缩略词;而空白项则是不支持的。协议描述TCP用于字节流套接字的传输控制协议UDP用于数据报套接字的用户数据报协议ICMPInternet控制信息协议RAW手工创建IP数据包表13-3套接字协议总目录域协议类型AF_INETAF_INET6AF_UNIXAF_ROUTESOCK_STREAMTCPTCPPF_UNSPECSOCK_DGRAMUDPUDPPF_UNSPECSOCK_RAWIPv4IPv6Yes表13-4套接字协议与类型的组合总目录13.2.2套接字寻址一个进程

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

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

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