2.基于Linux的TCP通信服务器端的实现2
1设计要求大家好,今天,与教研室老师商量了一下题目,觉得你们组的这个题目有点难度,而且时间比较短,用LINUX可能会比麻烦,一是它使用的vi命令比较复杂,另外编译环境的安装也比较麻烦费时,而我们每个老师要带4个组没有太多时间,这周我们又要内审检查考试卷子,所以现在更改一下设计内容,不要求在Linux下做了,可以在windows环境下来做,多线程服务器端,用C++语言或JAVA语言
这样都做好了,如果有时间再熟悉一下Linux环境,等以后毕业设计的时候再实现Linux下的服务器
不知道你们的想法如何
也不知道你们以前是否有熟悉Linux的
如有什么问题请随时跟我联系
1设计目的在linux环境下,掌握TCP通信的服务器端实现方式
2基本功能要求和设计目标(1)能够侦听客户端的连接请求;(2)建立独立的数据通信链路;(3)在通信两端建立对等的通信协议;(4)完成数据包的收发与存储;2
3扩展功能实现视频监控数据的采集以及控制命令的收发
2参考示例2
1案例说明(1)TCP三次握手机制为实现服务器端的TCP通信功能,服务器端需要能够接受多个客户端的通信请求,并建立多条TCP通信链路
TCP的连接建立叫做三次握手
①客户端发送一个带SYN标志的TCP报文到服务器
这是三次握手过程中的报文1
②服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志
因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯
③客户必须再次回应服务段一个ACK报文,这是报文段3,如图1
数据传输是在连接建立后,双向的数据传送就可以开始
客户和服务器都可以在两个方向传送数据和确认
图1TCP协议建立连接三次握手过程(2)套接字(Sockets)的概念Wind