您的位置:首页 > 理论基础 > 计算机网络

Qt中tcp传输文件遇到的问题

2017-08-26 16:59 423 查看
我在用tcp传文件的过程中,遇到了“掉帧”的情况,即收到的文件大小要比实际文件大小小,使得文件被破坏。我用的方法是先把文件的大小、名称等打包成文件头先传输过来,然后再传文件的本体。客户端进行接收的时候,先接受文件头,然后建立空文件,再接收后续的数据,写入空文件中。经过调试,发现,我在socket里面写了文件头以后,客户端的socket并没有马上读取文件头,而是等到了socket数据达到一定量的时候,才读取的。所以,我第一次接收到的文件并不仅仅是文件头,而是文件头+部分文件数据。而我处理的时候只处理了文件头,而将那部分附加的数据忽略掉了,导致文件不完整。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt tcp 文件