TidFtp传输 报的错误 (大虾们看看 , 急)(40分)

  • 主题发起人 主题发起人 meijingpengwork
  • 开始时间 开始时间
M

meijingpengwork

Unregistered / Unconfirmed
GUEST, unregistred user!
用indy控件 做ftp传输的时候 报个错
connection closed gracdfully.
不知道 怎么回事?网上说在delphi的tools->debugger optionss->
language exceptions的Indy eidconnclosedtgracdfullyexception 选项打个勾
我打了也还是有这个报错框出来 ,怎么办?
 
TIdFTP是客户端控件,所以它报的Connection Closed Gracefully就说明是一个错误(而不是一个通知)。出现错误的原因很多,暂列举一些:
1、主/被动模式.FTP是使用两个端口(20和21)进行传输的,20端口是命令和响应的通讯端口;21是数据传输的通讯端口。当一个客户端连接上服务器的时候,由于路由器和防火墙的设置,有两种方式进行文件传输,一种是主动模式(这在没有防火墙的情况下使用),另外一种是被动模式(在有防火墙的情况下使用)。检查一下你的FTP服务器的设置,是设定为主动还是被动连接,然后根据服务器的设置修改客户端IdFTP1.Passive属性,为True表示被动模式,默认是False的
2、端口是否被打开。这个问题可能出现在你的客户端机器上,有些杀毒软件附带的防火墙会阻止一些非常见的软件执行FTP操作(你自己写的肯定不是常见的FTP客户端),如果你机器上恰巧装了这样的防火墙,你必须自己手工设置规则,允许其访问网络,并且打开20和21端口,才能正常使用
3、连接直接被服务器端断开。你必须检查一下服务器的配置,确认一下是否配置成功,建议用别的FTP客户端连接一下你的服务器再看。
 
zqw0117 回答的太具体了,佩服!
 
后退
顶部