TCP协议传输大文件读取时候的问题

Posted pythonywy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP协议传输大文件读取时候的问题相关的知识,希望对你有一定的参考价值。

TCP协议传输大文件读取时候的问题

大文件传不完的bug

我们在定义的时候定义服务端每次文件读取大小为10240,

客户端每次接受大小为10240

我们想当然的认为客户端每次读取大小就是10240而把客户端的读下来的文件想当然大小每一次都加上10240

而实际上服务端发送文件send每次发送不一定是一次性把10240的文件传送完,可能分了好几次进行发送至缓冲区这我们实际文件大小就不一定是10240

解决办法:

1.对于每次服务端所发送的文件内容及大小都发送给客户端,让客户端一一对应读取

2.实时读取客户端内下载后的文件,而不是想当然的每次增加10240

以上是关于TCP协议传输大文件读取时候的问题的主要内容,如果未能解决你的问题,请参考以下文章

Windows下基于TCP协议的大文件传输(流形式)

pythonftp给文件授权

求一个C#最简单的TCP传输信息例子(实现聊天和传送文件,再简单点实现聊天也行)

涨知识-VI 基于TCP/UDP的应用层协议

记录面试技巧

TCP“粘包”是什么?