- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子信息工程课程课件设计指导书提纲-tcp服务器端
2.基于Linux的TCP通信服务器端的实现
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。
数据传输是在连接建立后,双向的数据传送就可以开始。客户和服务器都可以在两个方向传送数据和确认。
图1 TCP协议建立连接三次握手过程
(2)套接字(Sockets)的概念
Windows下网络编程的规范——Windows Sockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。
Socket又称套接字,是进程之间通信的抽象连接点。可以通过一个形象的例子来理解这个概念,现实生活中的电话是人们联系的常用工具,双方只要使用两部电话机就可以交谈。在计算机世界中,两个程序就是使用Socket 进行通信的,一个Socket就好比一部电话机,两个程序在网络上通过一个双向链路进行通信,这个双向链路的每一端就成为一个Socket。
进程之间要通信,首先要建立各自的Socket,就像要打电话一定要先有电话机一样,打电话时每部电话机都可以说和听。与此类似,每个Socket 也都可以进行读/写操作,读/写操作时分别要用到Socket中的输入流和输出流。
建立连接后,客户程序可以向Socket里写入请求,然后服务器会处理这个请求,并把处理结果通过Socket送回。服务器应用程序一般监听一个特定端口以等待一个客户的连接请求,当一个连接请求到达时,客户和服务器建立一个通信连接。在连接过程中,客户被分配一个本地端口号并且与一个Socket连接,客户通过写Socket来通知服务器,通过读Socket来获取信息。类似地,服务器也获取一个本地端口号,它需要一个新的端口号来监听原始端口上的其它连接请求。服务器也给它的本地端口连接一个Socket,读写来自客户的请求。根据网络通信的特征,套接字可分为两类:流套接字和数据报套接字。
流套接字
流套接字提供双向的、有序的、无重复并且无记录边界的数据流服务,它适用于处理大量数据。网络传输层可以将数据分散和集中到合适尺寸的数据包中。
流套接字是面向连接的,通信双方进行数据交换之前,必须建立一条路径,这样既确定了它们之间存在的路由,又保证了双方都是活动的、可彼此响应的,但通信双方之间建立一个通信信道需要很多开支。除此以外,大部分面向连接的协议为保证发送无误,可能会需要执行额外的计算机来验证正确性,因此会进一步增加开支。
②数据报套接字
数据报套接字支持双向的数据流,但并不保证数据传输的可靠性、有序性的和无重复性。也就是说,一个从数据报套接字接收信息的进程有可能发现信息重复,或者和发出时的顺序不同的情况。此外,数据报套接字的一个重要特点是它保留了记录边界。对于这一特点,数据报套接口采用了与现在许多包交换网络(例如以太网)非常类似的模型。
数据报套接字是无连接的,它不保证接收端是否正在侦听,类似于邮政服务:发信人把信装入邮箱即可,至于收件人是否能收到这封信或邮局是否能按时将信件投递到收件人处等,发件人都不得而知。因此,数据报并不可靠,需有程序员负责管理数据报的排序和可靠性。
应用程序一般仅在同一类的套接口间通信。不过只要底层的通信协议允许,不同类型的套接口也照样
您可能关注的文档
- 第一章节急诊医疗服务体系.ppt
- 第一章节客房服务员岗位职责.doc
- 第一章节客户服务概述概要.ppt
- 第一章节客户服务基础.ppt
- 第一章节空乘服务概述概要.ppt
- 第一章节认识客户服务.ppt
- 第一章节营销跟物流服务营销.ppt
- 第一章节总论新型农村社区基础设施跟公共服务射箭建设项目可行.doc
- 第章节服务营销原理概述概要.ppt
- 第章节物流客户服务跟物流客户管理.ppt
- 2025年河北唐山市开平区公开招聘社区工作者24人备考题库附答案详解(综合题).docx
- 2025年人力资源管理师多维度HR数据整合分析专题试卷及解析.pdf
- 2025年投资经理岗位要求15篇.docx
- 2025年河北唐山市开平区公开招聘社区工作者24人备考题库附答案详解(突破训练).docx
- 2025年人力资源管理师工作生活平衡的表彰与激励机制专题试卷及解析.pdf
- 2025年河北唐山市开平区公开招聘社区工作者24人备考题库附答案详解(精练).docx
- 2025年开展圣诞活动总结(优选16篇).docx
- 2025年机电设备定期检修制度汇编(20篇范文).docx
- 2025年成套岗位职责20篇.docx
- 2025年期中考试学生总结(十五篇).docx
最近下载
- 新解读《GB_T 39967 - 2021五轴联动加工中心S形试件精度检验》最新解读.pptx VIP
- 全球生物医药产业创新驱动发展白皮书.docx VIP
- 国家开放大学(电大)《人文英语2》2025年期末考试真题含答案.docx VIP
- 生物医药产业创新驱动发展.pptx VIP
- 2026年中考数学压轴题专项练习-倍长中线(学生版+详解版).pdf VIP
- 2026年中考数学压轴题专项练习-倍长中线(学生版).pdf VIP
- 中国生物医药产业分析与趋势.pptx VIP
- 生物医药产业创新趋势分析.pptx VIP
- 生物医药产业趋势分析.pptx VIP
- 船用UG-25+调速器安装调试手册.pdf
原创力文档


文档评论(0)