继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【学习打卡】第4天 构建基于TCP协议的文件传输系统——1

weixin_慕斯636612
关注TA
已关注
手记 34
粉丝 2
获赞 15

一、课程信息

打卡时间:2022.8.6
课程名称:C/C++气象数据中心实战,手把手教你做工业级项目
章节名称:开发基于tcp协议的文件传输子系统 4-8 4-9
讲师: 长歌_吴从周

二、今日课程

课程内容:(1)初步捋清客户端上传程序的逻辑 (2)初步搭建TCP客户端上传程序和服务器的框架

三、学习心得

3.1 关于TCP客户端程序和服务器程序的注意点

和FTP文件传输系统类似,TCP文件传输系统的客户端程序分为两个:上传程序和下载程序,服务器程序只有一个,根据客户端传递的报文来判断当前执行上传还是下载任务。这样做的好处是,由于客户端的上传和下载程序差异较大,如果将两个功能放在一起,逻辑比较复杂同时程序也会比较臃肿,而服务器将上传/下载功能放在一起的原因是,可以根据报文执行上传和下载功能,这样就不需要额外开辟监听端口。

3.2 客户端上传程序的逻辑

客户端上传程序的主要逻辑包括:
1)登陆
2)获取本地目录中文件清单
3)把文件信息发送到服务端
4)把文件内容发送到服务端
5)接收服务端的确认报文
6)重复3到5,直到全部的文件被发送完成
6)回到2,继续上传新文件
和ftp程序类似,程序要传入的参数很多,这里也需要用一个结构体来存储文件的参数。今天学习的内容主要是搭建上传程序的架构,包括用a.结构体来存储程序的参数;b.将客户端程序传入的的参数上传给服务器;c.心跳服务
客户端程序常驻内存。需要每个几秒执行一次传输任务,后续会涉及程序的调度

3.3 服务器处理程序

今天完成的服务器处理程序主要包括接收客户端上传的结构体报文以及对客户端的心跳服务进行响应。服务器待完成的功能较多,会在之后的学习中逐步晚上。
tcp文件传输程序还是比较复杂的,为了方便debug,服务器注释掉了多进程的代码,使用单进程便于调试。今天的主要时间也是花在了调试上,用gdb调试还是不太习惯。

四、学习截图

图片描述图片描述图片描述

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP