如何增加Indy idFTP缓冲区?

时间:2014-10-24 08:31:24

标签: delphi-xe indy

OnFtpWork事件经常为idFTP触发。如果它经常写入磁盘,那将是浪费时间。有没有办法增加缓冲区,因此它不会经常写入磁盘每秒一次?

1 个答案:

答案 0 :(得分:1)

您可以在执行转移之前设置TIdFTP.IOHandler.SendBufferSizeTIdFTP.IOHandler.RecvBufferSize属性。它们将被复制到用于传输连接的IOHandler

或者您可以使用TIdFTP.OnDataChannelCreate事件来设置ADataChannel.IOHandler.SendBufferSizeADataChannel.IOHandler.RecvBufferSize属性。

或者你可以在内部实现一个使用缓冲文件I / O的TFileStream派生类,然后你不必弄乱TIdFTP的缓冲区。