ClinetServer模型与Socket编程接口.ppt
《ClinetServer模型与Socket编程接口.ppt》由会员分享,可在线阅读,更多相关《ClinetServer模型与Socket编程接口.ppt(23页珍藏版)》请在三一办公上搜索。
1、第十二章 Clinet/Server模型与Socket编程接口,12.1 网络间进程通信12.2 Client/Server模型12.3 Socket编程接口12.3.1 Socket基本概念12.3.2 Socket系统调用12.3.3其它系统调用12.4 基于Client/Server模型的Socket编程举例12.4.1 Client/Server模型流程图12.4.2 Server实现机制12.4.3 UNIX环境下的Socket编程举例,12.1 网络间进程通信,问题一:进程标识的问题在同一台主机上,不同进程可以用进程号(Process ID)来标识;但在网络环境下,不能用进程号来唯
2、一地标识某主机上的通信进程。问题二:多重协议的识别问题不同协议的地址格式不同;不同协议的端口分配相互独立;不同协议的工作方式不同(比如有面向连接与无连接的区别)问题三:进程间的相互作用模式Client/Server分布式系统,网络进程标识,全局唯一的标识一个进程需要用一个三元组(socket地址)(协议,本地主机地址,本地端口号)一个完整的网络进程通信(包括两个用户进程)需要一个五元组来标识(一对socket地址)(协议,本地主机地址,本地端口号,远地主机地址,远地端口号),12.2 Client/Server模型,12.3 BSD Unix Socket编程接口,在因特网中,两台主机上的应用
3、进程在通信之前,必须首先各自创建一个socket,然后再通过bind系统调用对socket进行相应的地址赋值操作,最后应用进程就可以通过socket使用TCP/IP协议来发送和接收数据。每一个socket有一个唯一的整数标识符,即socket号,该socket号通常由操作系统分配,应用进程通过socket号来引用socket。,BSD Unix socket系统调用,1.创建socket:socket()2.指定本地地址:bind()3.建立socket连接:connect()4.接收连接请求:listen()&accept()5.发送数据:send()&sendto()6.接收数据:recv
4、()&recvfrom(),1.创建socketsocket(),创建socket的系统调用是socket(),其调用格式如下sockidsocket(af,type,protocol)返回值sockid是一个整数,即socket号,创建一个socket实际上是向系统申请一个属于自己的socket号socket()系统调用的三个参数AF(Address Family)TypeProtocol,2.指定本地地址bind(),bind()系统调用是将本地socket地址(包括本地主机地址和本地端口)与所创建的socket号联系起来,即将本地socket地址赋予该socket。bind()的调用格式
5、为 bind(sockid,localaddr,addrlen)其中,sockid,已获得的socket号。localaddr,本地socket地址:包括本地主机地址和端口号。addrlen,本地socket地址长度,表示以字节为单位的本地socket地址结构的长度。,3.请求建立连接connect(),面向连接的客户进程通过connect()调用建立与服务器的连接对于大多数面向连接的协议(如TCP协议),connect()系统调用将在客户进程和服务器进程之间建立一条传输连接(如TCP连接),connect()调用要等到系统将传输连接建立完后才返回,否则将返回出错信息。,connect()的调
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ClinetServer 模型 Socket 编程 接口

链接地址:https://www.31ppt.com/p-5421900.html