电子信息工程课程设计指导书提纲TCP服务器端模板.docVIP

电子信息工程课程设计指导书提纲TCP服务器端模板.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

2.基于LinuxTCP通信服务器端实现

2.1设计要求

大家好,

今天,和教研室老师商议了一下题目,认为你们组这个题目有点难度,而且时间比较短,用LINUX可能会比麻烦,一是它使用vi命令比较复杂,另外编译环境安装也比较麻烦费时,而我们每个老师要带4个组没有太多时间,这周我们又要内审检验考试卷子,所以现在更改一下设计内容,不要求在Linux下做了,能够在windows环境下来做,多线程服务器端,用C++语言或JAVA语言。这么全部做好了,假如有时间再熟悉一下Linux环境,等以后毕业设计时候再实现Linux下服务器。不知道你们想法怎样?也不知道你们以前是否有熟悉Linux?如有什么问题请随时跟我联络。

2.1.1设计目标

在linux环境下,掌握TCP通信服务器端实现方法。

2.1.2基础功效要求和设计目标

(1)能够侦听用户端连接请求;

(2)建立独立数据通信链路;

(3)在通信两端建立对等通信协议;

(4)完成数据包收发和存放;

2.1.3扩展功效

实现视频监控数据采集和控制命令收发。

2.2参考示例

2.2.1案例说明

(1)TCP三次握手机制

为实现服务器端TCP通信功效,服务器端需要能够接收多个用户端通信请求,并建立多条TCP通信链路。TCP连接建立叫做三次握手。

①用户端发送一个带SYN标志TCP报文到服务器。这是三次握手过程中报文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协议应用关键工作模式是用户

文档评论(0)

精致文档 + 关注
实名认证
文档贡献者

精致文档

1亿VIP精品文档

相关文档