socket大文件传输问题

sweezin 2002-05-15 01:22:24
利用socket进行大文件传输时出现大量延时现象,传了一部分就停顿一下,如此往复。请问高手们如何解决他,我的想法是增加socket缓冲区大小,但不能完全避免。
...全文
160 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sweezin 2002-05-15
  • 打赏
  • 举报
回复
z_grand,我也不知道,不知能不能把你的程序让我看一下,还有你那个是不是多线程的,谢了

gragonxu,停一下是指延迟一到两秒时间然后继续传,感觉就像没有准备好是的。

其中我用的是tcp协议的。
z_grand 2002-05-15
  • 打赏
  • 举报
回复
对不起,我用我的程序(Window Socket SDK开发的)传送60M的东西,在两台之间,不超过30秒钟,并没有停顿出现呀,你用什么开发工具??
dragonxu 2002-05-15
  • 打赏
  • 举报
回复
但一般发到几m就“停一下”,“停一下”的意思是什么?
chenm001 2002-05-15
  • 打赏
  • 举报
回复
使用UDP协议加自己的差错控制协议就可以了!
sweezin 2002-05-15
  • 打赏
  • 举报
回复
多谢各位,我的文件一般要有200m以上,但一般发到几m就停一下,而且跟相互传送的机器有关,有些机器用我这个程序停顿的厉害。
我在发送的过程中是一个包一个包传的,每个包大概是3~4k,而且包越小,停顿减小,但速度就降下来了
punks 2002-05-15
  • 打赏
  • 举报
回复
用阻塞模式的试试。延时是肯定的。如果用循环做不加延时而且是非阻塞,那么会有数据丢失。
jimconrad 2002-05-15
  • 打赏
  • 举报
回复
每次传该文件的一小部分,如64KB,做个循环。不要试图将文件全部读到内存中一次调用send就发出去。
zzqok 2002-05-15
  • 打赏
  • 举报
回复
gz
z_grand 2002-05-15
  • 打赏
  • 举报
回复
请问你的文件有多大,我用我编的做一下测试?

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧