INDY FTP ECONNREFUSED - 服务器拒绝连接

时间:2014-03-28 13:57:58

标签: android delphi ftp indy delphi-xe5

我正在为Delphi XE5上的 Android 开发FTP服务器。 (组件IdFTPServer)。 服务器启动:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Server.DefaultPort := 1032;
  Server.DefaultDataPort := 1926;
  Server.Bindings.Add.IPVersion := Id_IPv4;
  //Server.ReuseSocket := rsTrue;
  Server.Active := true;
  if Server.Active = true then
  begin
    Label1.Text := GetIP+':'+IntToStr(Server.DefaultPort);
  end;
end;

当客户想连接时(我正在使用FileZilla)我收到错误: ECONNREFUSED - 连接被服务器拒绝

但是当我为 Windows 开发FTPServer时,我没有收到错误,客户端可以连接。这工作......

1 个答案:

答案 0 :(得分:0)

ECONNREFUSED表示操作系统本身,而不是 Indy ,拒绝连接。 Indy永远不会看到被拒绝的连接,因此无法控制它们。对于Windows服务器,ECONNREFUSED表示服务器端口根本未打开,或者此时端口的待处理客户端连接积压已满。在Android上,情况可能也是如此,但Android也有其他要求,例如要求启用 INTERNET 权限(当某些套接字错误发生时,Indy的最新版本现在会检查),以及也可能还有 ACCESS_WIFI_STATE CHANGE_WIFI_STATE 和/或 ACCESS_NETWORK_STATE 权限。