当我调用函数
时IdFtp.List(myList, '', false);
之后我登录并更改了ftp目录,我得到了一个套接字错误#10054异常(“通过peer重置连接。”)。
当我呼叫该功能时,例如连续20次我得到1次异常。
我在Vista OS上遇到的那个问题。
有人知道问题是什么或我如何避免它?
答案 0 :(得分:3)
您无法做到这一点,因为断开连接是由FTP服务器完成的。 你有几个选择:
NOOP
命令告诉服务器您还活着(切换到被动模式也可以提供帮助)。以下是FileZilla
FTP服务器超时设置的屏幕截图:
请注意,使用上述设置后,FTP客户端将在非活动2分钟后断开连接 将该值设置为0将禁用超时。
答案 1 :(得分:2)
FTP协议使用多个套接字连接。每次调用List()
时,都会建立新的套接字连接以传输请求的列表数据。听起来好像FTP服务器并不总是在传输结束时正确关闭套接字。
答案 2 :(得分:0)
在组件“IdFTP”中,更改以下属性: