- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
{售后服务}通信服务器
设计
的报文 1 。
②服务器端回应客户端的,这是三次握手中的第 2 个报文,这个报文同时带
ACK 标志和 SYN 标志。因此它表示对刚才客户端 SYN 报文的回应;同时又标志 SYN
给客户端,询问客户端是否准备好进行数据通讯。
③客户必须再次回应服务段一个 ACK 报文,这是报文段 3 ,如图1 。
数据传输是在连接建立后,双向的数据传送就可以开始。客户和服务器都可
以在两个方向传送数据和确认。
图 1TCP 协议建立连接三次握手过程
(2)套接字(Sockets )的概念
Windows 下网络编程的规范——WindowsSockets 是 Windows 下得到广泛应用的、
开放的、支持多种协议的网络编程接口。
Socket 又称套接字,是进程之间通信的抽象连接点。可以通过一个形象的
例子来理解这个概念,现实生活中的电话是人们联系的常用工具,双方只要使用
两部电话机就可以交谈。在计算机世界中,两个程序就是使用Socket 进行通信
的,一个Socket 就好比一部电话机,两个程序在网络上通过一个双向链路进行
通信,这个双向链路的每一端就成为一个 Socket 。
进程之间要通信,首先要建立各自的 Socket ,就像要打电话一定要先有电
话机一样,打电话时每部电话机都可以说和听。与此类似,每个 Socket 也都可
以进行读/写操作,读/写操作时分别要用到Socket 中的输入流和输出流。
建立连接后,客户程序可以向 Socket 里写入请求,然后服务器会处理这个
请求,并把处理结果通过 Socket 送回。服务器应用程序一般监听一个特定端口
以等待一个客户的连接请求,当一个连接请求到达时,客户和服务器建立一个通
信连接。在连接过程中,客户被分配一个本地端口号并且与一个 Socket 连接,
客户通过写 Socket 来通知服务器,通过读Socket 来获取信息。类似地,服务器
也获取一个本地端口号,它需要一个新的端口号来监听原始端口上的其它连接请
求。服务器也给它的本地端口连接一个Socket ,读写来自客户的请求。根据网络
通信的特征,套接字可分为两类:流套接字和数据报套接字。
① 流套接字
流套接字提供双向的、有序的、无重复并且无记录边界的数据流服务,它适
用于处理大量数据。网络传输层可以将数据分散和集中到合适尺寸的数据包中。
流套接字是面向连接的,通信双方进行数据交换之前,必须建立一条路径,
这样既确定了它们之间存在的路由,又保证了双方都是活动的、可彼此响应的,
但通信双方之间建立一个通信信道需要很多开支。除此以外,大部分面向连接的
协议为保证发送无误,可能会需要执行额外的计算机来验证正确性,因此会进一
步增加开支。
②数据报套接字
数据报套接字支持双向的数据流,但并不保证数据传输的可靠性、有序性的
和无重复性。也就是说,一个从数据报套接字接收信息的进程有可能发现信息重
复,或者和发出时的顺序不同的情况。此外,数据报套接字的一个重要特点是它
保留了记录边界。对于这一特点,数据报套接口采用了与现在许多包交换网络
(例如以太网)非常类似的模型。
数据报套接字是无连接的,它不保证接收端是否正在侦听,类似于邮政服务:
发信人把信装入邮箱即可,至于收件人是否能收到这封信或邮局是否能按时将信
件投递到收件人处等,发件人都不得而知。因此,数据报并不可靠,需有程序员
负责管理数据报的排序和可靠性。
应用程序一般仅在同一类的套接口间通信。不过只要底层的通信协议允许,
不同类型的套接口也照样可以通信。
本设计采用面向连接的 TCP 协议,所以使用流套接字。
(3)客户机/服务器模型
TCP/IP 协议应用的主要工作模式是客户机/服务器模式(Client/Server ,简
称 C/S 模式)。在两个不同进程的通信过程中,一方发出服务请求,一方提供服
务,通常称它们为 “客户进程”和 “服务进程”。显然,两个进程之间的通信实
际上是基于通信协议的进程的同步过程,服务进程作为自愿的提供者,为众多主
机上的客户进程提供服务。服务进程要先于客户进程开启,在某一确定的网络地
址(IP 地址+端口号)等待客户进程的请求,如有请求到达,服务进程采取某种
方式(并发服务或者重复服务),直到客户进程关闭,然后服务进程继续等待下
一个请求服务的进程。
服务器通常采用并发服务的方式。所谓并发服务,就是服务进程在有客户
文档评论(0)