SCocket通信传输速率跳变问题

hugyxh 2015-02-07 12:01:00
问题描述:
我有两台电脑,电脑1和电脑2,如果电脑1运行Server,电脑2运行Client,传输速率为20多MB/s,
反过来,电脑1运行Client,电脑2运行Server,速度也能达到20多兆/s,但是会跳变,有时能到0k/s,
我希望传输速度稳定,两台电脑都是千兆网卡,也换过电脑,也用过千兆交换机,也用两台电脑直连过。
我用CSocket编程,VC2010,win7 。传输几百个文件,每文件2M。
哪位大侠能帮一下,谢谢
如下图:
示意图

实物图

实物图
...全文
458 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
grf9527 2015-02-11
  • 打赏
  • 举报
回复
首先,你使用的是同步sokcet还是异步socket? 你的tcp接收和发送缓冲区调整的合适吗? 你的发送函数是不是全速发送,还是有sleep延时? 其次。你的接收端是服务器吗? 如果你要实现最告速的发送和接收。 请使用完成端口模型。同时在客户端启动多个tcpclient。 通过这样的方式,你的带宽利用最起码到500-600mb没有问题。 我用udp可以实现1024mb。 用tcp,也可以实现超过900mb。 前提是仅仅进行接收和发送,数据接收完的处理是另外一个事。估计你磁盘没有达到128MB/s。
worldy 2015-02-07
  • 打赏
  • 举报
回复
网线对调一下试试看
worldy 2015-02-07
  • 打赏
  • 举报
回复
也可能测速不准确,比较一下文件传输的实际时间 S\C对调着传看有多大的差别 也可能在运行的软件有比较多的访问网络 实际上,你的两台电脑必须配置相同运行环境相同,才能比较说明问题,另外,路由器上是否有对ip限速?理由的设置也应该相同
hugyxh 2015-02-07
  • 打赏
  • 举报
回复
to worldy,谢谢 对调过,还是不行。
hugyxh 2015-02-07
  • 打赏
  • 举报
回复

问题的两幅图上传重啦,重新传

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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