当我调用该函数时 IdFtp.List(myList, '', false); 之后我登录并更改了ftp目录,我得到了一个套接字错误#10054异常(“通过peer重置连接.”). 当我呼叫该功能时,例如连续20次我得到1次异常. 我在
IdFtp.List(myList, '', false);
之后我登录并更改了ftp目录,我得到了一个套接字错误#10054异常(“通过peer重置连接.”).
当我呼叫该功能时,例如连续20次我得到1次异常.
我在Vista OS上遇到的那个问题.
有人知道问题是什么或我如何避免它?
您无法做到这一点,因为断开连接是由FTP服务器完成的.你有几个选择:
>在FTP服务器连接设置上增加(或禁用)超时设置(每个FTP服务器都有不同的名称).
>通过定期发送NOOP命令告诉服务器您还活着(切换到被动模式也可以帮助).
>捕获该异常并以静默方式重新连接(这是我的首选解决方案,因为我们有许多FTP服务器,我不相信sys-admins更改FTP服务器超时设置).
以下是FileZilla FTP服务器超时设置的屏幕截图:
请注意,使用上述设置,FTP客户端将在非活动2分钟后断开连接.将该值设置为0将禁用超时.