再问TIdTCPClient SendBuffer方法。 为什么发送1000个字节的速度没有发送10000个字节的速度快测试结果是 10000 Byte 20ms1000 Byte 270ms 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 发送代码:var S:TMemoryStream;begin S:=TMemoryStream.Create; S.Size:=10000; S.Position:=0; TCP.WriteBuffer(S.Memory^,S.Size,true); S.Free; TCP.ReadLn;end; 接受代码AThread.Connection.ReadBuffer(buf[0],1000);AThread.Connection.WriteLn(); 测试1000的时候是150-200 ms测试10000的时候是10-20 ms各位可以测试一下,如果知道原因请告之。谢谢:) 接受buf大小和发送buf大小一样例如测试1000的时候S.Size:=1000;AThread.Connection.ReadBuffer(buf[0],1000);测试10000的时候S.Size:=10000;AThread.Connection.ReadBuffer(buf[0],10000); 我只有一台机器的没完整代码测试麻烦的Buffer的问题是有一定的影响的,但不至于差别10倍那么大吧http://lysoft.7u7.net 在Indy中,WriteBuffer时会自动创建一个内存流,用这个流来做缓存,等达到一定数量才发送。所以你可以试一下,发送10M的东西,两种方式应该一样快。 liangjinliang() 问题是我发送的绝对不要10M,而且不能累积到一定量再发谢谢你的回答。 WGYKING(修罗是谁?!) 已经帮我解决。加个TCPCONNECtion.flushwritebuffer.结贴。 画出几张图片的不同之处时遇到的问题 问一个操作数据库的问题,比较简单,但是很奇怪 急,做成的setup.exe,安装后程序运行不了 关于数组与ini文件配合问题 如果隐藏程序进程 DELPHI获取数据库信息!? 请各位提供制作帮助文件软件的下载地址(比较好的) 为什么自己写的控件会不见了? 哪儿有好,新,多,全控件下载 有关数据库的一个问题! PETS-3 笔试口试全过了,散分 :) 如果对jpg图片进行放索和旋转处理,一定要把它转化为bmp图像再执行吗
var
S:TMemoryStream;
begin
S:=TMemoryStream.Create;
S.Size:=10000;
S.Position:=0;
TCP.WriteBuffer(S.Memory^,S.Size,true);
S.Free;
TCP.ReadLn;
end; 接受代码
AThread.Connection.ReadBuffer(buf[0],1000);
AThread.Connection.WriteLn(); 测试1000的时候是150-200 ms
测试10000的时候是10-20 ms各位可以测试一下,如果知道原因请告之。谢谢:)
例如测试1000的时候
S.Size:=1000;
AThread.Connection.ReadBuffer(buf[0],1000);
测试10000的时候
S.Size:=10000;
AThread.Connection.ReadBuffer(buf[0],10000);
http://lysoft.7u7.net
所以你可以试一下,发送10M的东西,两种方式应该一样快。
问题是我发送的绝对不要10M,而且不能累积到一定量再发
谢谢你的回答。
WGYKING(修罗是谁?!)
已经帮我解决。加个TCPCONNECtion.flushwritebuffer.
结贴。