局域网传输大文件问题

这是住转载的

   问:  

        如果在局域网内开发一文件传输程序(局域网网卡均为100M),文件被分割成N个包发送的话,使用TCP直接发送,如果我发完一个包不延时的话肯定会丢包。TCP协议不是号称能够避免丢包吗?如果本程序需要在外网上使用,也必须延时吗,那这个延时值应该设置为多少?

 

   答:

      TCP协议不是号称能够避免丢包吗?

---->是保证在传输中不丢包。

但实际上你的问题是在应用层丢了。

TCP有滑动窗口概念,你发的包太多,对方接收缓冲满了,你又不检查错误日志,盲目发,当然有问题,

-----

延时值应该设置为多少?
-----》依据你的网络情况,实际上你不要这样乱发,应该一发一收,收到响应再发下一包,这样可适应任何网络情况。

         我的实践,  我增加了返回发送,但是在局域网内还是出错(5m的东西,后2m就出错)!  看过一个不算太标准的ftp服务器的源代码,在不限速的情况下也没特别的处理。

        我看了好多ftp客户端源代码,并不是一发一收。看来问题的关键在Ftp服务器。我的办法也解决了此问题,详细情况见我的文章Socket创建C/S模型的小结.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值