第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【學(xué)習(xí)打卡】第8天 構(gòu)建基于TCP協(xié)議的文件傳輸系統(tǒng)_5

標(biāo)簽:
C++ 活動

一、课程信息

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

二、今日课程

课程内容:(1)完成客户端文件上传功能的异步通信(2)客户端文件上传程序的收尾工作

三、学习心得

通过demo程序的测试可以看到异步上传效率是同步上传效率的好几倍。在对比上传效率的时候需要查看日志文件,了解在某一秒内文件上传成功的数量,这时候可以用:

可以用
grep "xxxxx" /tmp/demo31.log|wc
来查找/tmp/demo31.log文件中"xxxxx"出现的次数

这个语句在统计日志文件中行数非常好用,可以在日志文件中查看某一秒内客户端发送的报文数量。
多进程的异步通信方式最简单的办法就是父进程用于发送报文,子进程用于接收报文,不过由于多进程的办法需要开辟额外的进程,因此可以选择效率较低一些,但是不需要耗费额外资源的I/O复用的方式用于实现异步通信。可以使用tcpread完成I/O复用的异步通信,缺省情况下tcpread函数是阻塞的,只有当接收缓冲区有值的时候才会读取,在单进程的境况下完成异步通信则可以设置tcpread的timeout参数为-1表示不等待,这样就可以实现复用一个I/O口实现异步通信。
之前采用同步通信的方式完成文件上传的功能,通过实验可以看到,采用IO复用技术的poll来实现异步通信具有更高的效率,因此本次学习将原本的同步程序改为I/O复用的异步程序了。
除此之外,还有一些收尾工作,比如在实际文件传输过程中,客户端待传输文件产生的时间是不一定的,因此为了程序运行效率考虑,当程序文件传输成功的时候就说明程序正忙,所以不需要sleep,接着扫描文件夹。当文件传输失败时,说明当前待传输数据少,可以让客户端sleep一段时间再传输,这样可以提高效率。同时,我们还需要给客户端的进程加入心跳机制,便于守护进程的维护工作。

四、学习截图

图片描述图片描述

點擊查看更多內(nèi)容
1人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消