- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章:互联网应用模式和API;第3.1节、客户—服务器工作模式;C/S模式部分的重点与难点;相互作用的客户-服务器( Client/Server)模型;为什么选择客户-服务器模式;第二个原因:是技术性的。
互联网进程通信与单机进程通信不同:互联网通信完全是异步的,无法知道哪个主机会在何时发起通信。
因此,需要一种机制,为准备通信的进程之间建立联系,为两者的数据交换提供同步。
;网络中计算机进程间通信同样存在主叫和被叫,但没有振铃机制。通信进程间收/发协调怎么办?互联网采用最简??的约定方式—C/S模式;2000年前后,SIP协议的发展类似信令系统的互联网会话(呼叫)系统,可定义更丰富的会话模式。;C/S模式是约定客户请求(发起)通信、服务器响应通信(提供特定的服务),基本可以理解为请求/应答的分布计算(会话)模式。;客户软件的特点 ;服务器软件的特点 ;两个术语;;C/S模式的传输机制;一台计算机上可以运行多种服务器:;2 服务器多重服务:;并发性 —客户-服务器交互模型的基础;;复杂的C/S交互:;;一台运行多种服务器的计算机上,每种服务器如何识别发给自己的请求?;端口;F
T
P;1028;端口 ;两类端口 ;TCP/IP定义的应用程序熟知端口:
FTP: 21, Telnet: 23, SMTP: 25,DNS: 53, T, HTTP : 80, SNMP: 161,;名称;为什么服务器端口号一定是唯一定义的,而客户端的端口号可以是按定义的,也可以临时自指定的,只具有本地意义? ;实际通过TCP应用,除端口外,还必须有IP地址。 TCP连接的两个端点(端与端通信),是由端点地址(IP地址,端口号)确定, (IP地址,端口号)也被称为插口(Socket),或者端地址(Endpoint Address)。;TCP/UDP协议插口;第3.1 总结;第3.1章 作业;第3.2节、应用程序接口API;第3.2节:重点与难点;3.2.1 应用程序接口概述;;实际互联网应用程序只需要通过API完成通信和数据交互的调用,从而不需要处理网络的细节,是网络应用发展的一大进步。;应用程序接口API是应用程序通过TCP/IP协议软件进行通信交互的接口,它是一组定义的操作(非硬件),API决定了网络应用所能达到功能和这些功能编程开发的难度。;通信协议只是规定协议应该提供的操作,并不指定应用程序与协议进行交互时的API。
;套接字API(Socket API);Socket API:应用程序与TCP/IP协议之间的接口,它作为一种通用的通信编程接口而设计。;Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。;套接字API的基本结构;API过程中应用程序选择的端口、通信地址、客户或服务器、使用协议等怎么表达呢?;实现套接字API的过程;listen过程 服务器调用该过程来等待来自客户的连接。
listen( socket, queuesize);send过程 如果套接字被连接,可以利用该过程发送数据。
send( socket, data, length, flags);recv过程 应用可以调用该过程从连接套接字中接收数据。
recv( socket, buffer, length, flags);实现套接字API的过程;4、Listen过程
Listen(socket,queuesize)
如服务器是面向连接的,需要使用Listen 过程将套接字设置为被动模式,然后必须接受一个连接请求。
Queuesize:客户请求队列的长度,开始为空。;5、Accept过程
newsock=accept(caddress,caddresslen)
使用面向连接通信时, Accept过程在套接字中确定了连接客户的地址,服务器通过调用Accept过程接受下一个连接。然后Accept为该连接创建一个新套接字newsock 返回调用者,服务器将用这个新套接字和客户通信,直至与该客户通信结束。
caddress:按照socket地址结构表达的客户端IP地址。;6、客户端Connect过程
Connect(socket,saddress,saddresslen)
当使用面向连接的TCP, Connect过程启动一个指定服务器的运输层连接,本质上说Connect是客户与已经调用了Accept过程的服务器进行连接的过程。
文档评论(0)