关于TClientSocket、TServerSocket、TNMUDP控件的效率问题。

tianciliang 2005-11-02 02:26:03
我在使用这三个控件进行TCP/UDP的数据传输时,发现不管采用那种发送方式,在100Mbps带宽情况下,只能达到最多800KBps的传输速率,由于是双机互联,可以排除网络碰撞以及带宽共享等问题的影响,使用FTP软件上传/下载文件都能达到6~7MBps的速率。

提问:是不是这些控件的传输效率的确不高,如果要提高传输速率,使用socket函数是不是会好。
...全文
463 11 打赏 收藏 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2005-11-09
  • 打赏
  • 举报
回复
我用过效率很高,可以基本把带宽占满。
zs83315 2005-11-09
  • 打赏
  • 举报
回复
今早找了两台机来试,100MBPS互连的,速度基本都在100MBPS波动,你说SeverSocket和ClientSocket没效率是不可能的,你程序绝对有问题。
tianciliang 2005-11-09
  • 打赏
  • 举报
回复
后来发现是定时的问题,效率不会那么低,但是那个定时太不准了,本来应该10毫秒发一个的,实际上是几十毫秒发一次。结贴了。
zs83315 2005-11-09
  • 打赏
  • 举报
回复
看了你的贴我回去试写了一个程序,效率没有那么底的,我测试SeverSocket和ClientSocket传文件可以得100MBPS~130MBPS左右(在一台机里试)
pp616 2005-11-04
  • 打赏
  • 举报
回复
char* send_buffer=new char[1024*1024];
太夸张了点吧
最多8K就够了。

空中猎手 2005-11-03
  • 打赏
  • 举报
回复
如果一台电脑上开多个ClientSocket,每个发一部分,会不会利用率高一点呢,随便说说
tianciliang 2005-11-03
  • 打赏
  • 举报
回复
怎么办怎么办啊。。。
wupangzi 2005-11-03
  • 打赏
  • 举报
回复
学习!
tianciliang 2005-11-02
  • 打赏
  • 举报
回复
简单的:TCP情况连接已经建立的情况下:
char* send_buffer=new char[1024*1024];
ClientSocket1->Socket->SendBuf((void*)send_buffer,1024*1024);
发送1MB字节的数据,经过测试带宽利用率只有6%。
constantine 2005-11-02
  • 打赏
  • 举报
回复
不知道你是怎么做的,100M是不太可能的,不过一般也不会这么忙
这几个控件基本我都没有用过,但是就算效率差也不可能差到这个地步
你的代码是怎么写呢?
shadowstar 2005-11-02
  • 打赏
  • 举报
回复
不可能差那么多

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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