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

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

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

一、课程信息

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

二、今日课程

课程内容:(1)之前写的代码存在bug (2)异步通信的三种方式

三、学习心得

3.1 之前写的代码存在bug

在调试TCP文件传输系统-删除和转存本地文件任务时,出现了本地某些文件删除失败的情况。从客户端的logfile可以看到文件被删除了多次但是依然失败,查看权限发现,删除失败的文件和其他删除成功的文件拥有相同的权限。bug出现的原因还有待查询。而且昨天写的Updatestr_string函数也出现了bug,待查找中…

3.2 异步通信和同步通信

同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。
异步:异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
简单来说,客户端发出请求等待服务端回应,在请求发出到得到回应之前,客户端不做任何事情,因此同步效率比较低。
异步通信,客户端在发送请求的同时允许接收到服务端的信息,使用异步通信的好处是文件传输效率得到了极大的提升。但是也存在缺点,首先是程序逻辑变得更加复杂,除此之外,假如客户端向服务端发送1000个请求,但是客户端因为意外情况断开连接,但是客户端只收到服务端500个回应,客户端不知道服务端处理情况。
异步通信常用方法:
1.多进程:用不同的进程发送报文和接收报文
2.多线程:用不同的线程发送报文和接收报文
3.I/O复用的方式:select、poll、epoll函数

四、学习截图

图片描述
图片描述

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