- 7
- 0
- 约 8页
- 2020-12-08 发布于天津
- 举报
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。 数据传输是在连接建立后,双向的数据传送就可以开始。客户和服务器都
可以在两个方向传送数据和确认。
主机A 主机日
(番户韩 扌艮文段1】SYN (阴务赭雋)
报文段也ACK
图1 TCP协议建立连接三次握手过程
(2)套接字(Sockets)的概念
Windows下网络编程的规范 Windows Sockets是 Windows下得到广泛应
用的、开放的、支持多种协议的网络编程接口。
Socket又称套接字,是进程之间通信的抽象连接点。可以通过一个形象的 例子来理解这个概念,现实生活中的电话是人们联系的常用工具, 双方只要使用
两部电话机就可以交谈。在计算机世界中,两个程序就是使用 Socket进行通信
的,一个Socket就好比一部电话机,两个程序在网络上通过一个双向链路进行通 信,这个双向链路的每一端就成为一个 Socket o
进程之间要通信,首先要建立各自的 Socket,就像要打电话一定要先有电 话机一样,打电话时每部电话机都可以说和听。与此类似,每个 Socket也都可
以进行读/写操作,读/写操作时分别要用到 Socket中的输入流和输出流。
建立连接后,客户程序可以向Socket里写入请求,然后服务器会处理这个请 求,并把处理结果通过Socket送回。服务器应用程序一般监听一个特定端口以等 待一个客户的连接请求,当一个连接请求到达时,客户和服务器建立一个通信连 接。在连接过程中,客户被分配一个本地端口号并且与一个 Socket连接,客户通 过写Socket来通知服务器,通过读Socket来获取信息。类似地,服务器也获取一 个本地端口号,它需要一个新的端口号来监听原始端口上的其它连接请求。 服务
器也给它的本地端口连接一个Socket,读写来自客户的请求。根据网络通信的特 征,套接字可分为两类:流套接字和数据报套接字。
① 流套接字
流套接字提供双向的、 有序的、 无重复并且无记录边界的数据流服务, 它适 用于处理大量数据。网络传输层可以将数据分散和集中到合适尺寸的数据包中。
流套接字是面向连接的,通信双方进行数据交换之前,必须建立一条路径, 这样既确定了它们之间存在的路由,又保证了双方都是活动的、可彼此响应的, 但通信双方之间建立一个通信信道需要很多开支。 除此以外, 大部分面向连接的 协议为保证发送无误, 可能会需要执行额外的计算机来验证正确性, 因此会进一 步增加开支。
②数据报套接字
数据报套接字支持双向的数据流, 但并不保证数据传输的可靠性、 有序性的 和无重复性。 也就是说,一个从数据报套接字接收信息的进程有可能发现信息重 复,或者和发出时的顺序不同的情况。 此外,数据报套接字的一个重要特点是它 保留了记录边界。对于这一特点,数据报套接口采用了与现在许多包交换网络 (例 如以太网)非常类似的模型。
数据报套接字是无连接的, 它不保证接收端是否正在侦听, 类似于
您可能关注的文档
- smt制造人员离职情况调查及分析.docx
- smt印刷模板制作技术发展趋势激光切割.docx
- smt基础名词介绍.docx
- smt基础工艺知识重点讲义.docx
- smt生产工艺流程分析.docx
- smt生产管理实务.docx
- sj城市化同步练习.docx
- sketchup教程_sketchup建筑模型制作流程(整理).docx
- smt车间作业流程及生产工艺.docx
- smt部工艺控制及技术支持标准流程.docx
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- DB54∕T 0446-2025 民用建筑太阳能应用技术规程.pdf
- 快意电梯CTRL20-V101(小机房)电气原理图.pdf VIP
- 2023注册消防工程师(消防安全技术实务)题库含答案【基础题】.docx
- 2025年南京市中考物理试卷(含答案及解析).pdf VIP
- 中级注册安全工程师考试题库精编.docx
- 2019_昆仑通态_用户手册_G系列_7072Gi_V1.5.pdf VIP
- 慢性阻塞性肺疾病查房【优质公开课】精品PPT课件模板.pptx
- 2023注册消防工程师(消防安全技术实务)题库带答案(黄金题型).docx
- 2023年06月国家国防科技工业局核技术支持中心社会招考聘用笔试历年难、易错考点试题含答案解析.docx
- 机械制图习题集(第3版)非机类_杨慧英课后习题答案.docx
原创力文档

文档评论(0)