Конференция "Сети" » Проблема с FTP
 
  • Booster0 © (20.12.18 19:49) [0]
    Добрый день.
    Нужно было передавать файлы на FTP (до этого с FTP не работал)

    Код:

     if IdFTP1.Connected then
       begin
        IdFTP1.Abort;
        IdFTP1.Quit;
       end;
     IdFTP1.Username := Login_S;
     IdFTP1.Password := Password_S;
     IdFTP1.Host := IP_S;
     try
        IdFTP1.Connect;
        if IdFTP1.Connected then
          begin
            s:=URLEncode(ExtractFileName(FName));

            IdFTP1.Put(FName,s,false);                      // здесь останавливается секунд на 30, потом ошибка EIdSocktError 10054
            IdFTP1.Quit;
          end;
     except
        ......
        ......
     end;


    файл на FTP появляется, но нулевой длины.
    Подскажите, куда копать.
    Спасибо.
  • FreeAndNil © (20.12.18 23:44) [1]
    копать нужно в сторону того, что в протоколе используются два отдельных соединения.
    одно для команд (tcp/21), второе для данных (tcp/порт динамический)

    первое устанавливается всегда клиентом, второе может устанавливаться как с клиента так и с сервера.
    у тебя оно не устанавливается.
  • Styx © (21.12.18 00:27) [2]
    Копать в сторону Passive mode
 
Конференция "Сети" » Проблема с FTP
Есть новые Нет новых   [118426   +56][b:0][p:0.001]