![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с инди фтп [D7, Win2k, WinXP]
KyRo © (2006-09-15 13:19:00)У меня проблема при загрузке системы инди фтп клиент не хочет загружать данные с сервера.
На нем стоит
idFtp1.ReadTimeout:=1000;
При этом не какая ошибка не происходит и не отваливается по таймауту !!!
Вот лог работы клиента
Stat Connected.
Recv 15.09.2006 12:09:20: 220 Serv-U FTP Server v6.1 for WinSock ready...<EOL>
Sent 15.09.2006 12:09:20: USER update<EOL>
Recv 15.09.2006 12:09:20: 331 User name okay, need password.<EOL>
Sent 15.09.2006 12:09:20: PASS update<EOL>
Recv 15.09.2006 12:09:20: 230 User logged in, proceed.<EOL>
Sent 15.09.2006 12:09:20: TYPE I<EOL>
Recv 15.09.2006 12:09:20: 200 Type set to I.<EOL>
Sent 15.09.2006 12:09:20: SYST<EOL>
Recv 15.09.2006 12:09:20: 215 UNIX Type: L8<EOL>
Sent 15.09.2006 12:09:20: SIZE Ver_Client.txt<EOL>
Recv 15.09.2006 12:09:20: 213 7<EOL>
Sent 15.09.2006 12:09:20: PORT 10,0,10,65,4,32<EOL>
Recv 15.09.2006 12:09:20: 200 PORT Command successful.<EOL>
Sent 15.09.2006 12:09:20: RETR Ver_Client.txt<EOL>
Recv 15.09.2006 12:09:20: 150 Opening BINARY mode data connection for Ver_Client.txt (7 Bytes).<EOL>
Stat Disconnected.
Stat Connected.
Recv 15.09.2006 12:12:20: 220 Serv-U FTP Server v6.1 for WinSock ready...<EOL>
Sent 15.09.2006 12:12:20: USER update<EOL>
Recv 15.09.2006 12:12:20: 331 User name okay, need password.<EOL>
Sent 15.09.2006 12:12:20: PASS update<EOL>
Recv 15.09.2006 12:12:20: 230 User logged in, proceed.<EOL>
Sent 15.09.2006 12:12:20: TYPE I<EOL>
Recv 15.09.2006 12:12:20: 200 Type set to I.<EOL>
Sent 15.09.2006 12:12:20: SYST<EOL>
Recv 15.09.2006 12:12:20: 215 UNIX Type: L8<EOL>
Sent 15.09.2006 12:12:20: SIZE Ver_Client.txt<EOL>
Recv 15.09.2006 12:12:20: 213 7<EOL>
Происходит это только после перезагрузки системы !! Может у кого то было что то похожее ?
KyRo (2006-09-15 15:02:00) [1]ок спасибо !
Сергей М. (2006-09-15 14:45:00) [2]Если твой ФТП-клиент работает через NAT (и иже с ним по смыслу), то активный режим может быть задействован толькопосле его (NAT'а) соотв.настроек.
Сергей М. (2006-09-15 14:43:00) [3]
> В чем может быть загвоздка ?
В том что некая программа (файрвол, антивирус или что-то еще) перекрыла доступ к указанному порту извне.
> не повлияет ли пасивный режим как небуть на работу программы
В общем и целом не повлияет.
Активный режим дает некие преимущества, но поскольку ты о них ничего не знаешь, этот режим тебе нафиг не нужен.
KyRo (2006-09-15 14:35:00) [4]В пасивном отработало !!!!
В чем может быть загвоздка ? И не повлияет ли пасивный режим как небуть на работу программы ?
Сергей М. (2006-09-15 13:56:00) [5]Отключи опцию активного FTP-протокола и попробуй
KyRo (2006-09-15 13:51:00) [6]
> Dmitrij_K (15.09.06 13:45) [2]
> таймаут 1 секунда это плохо
Он все равно не происходит !!! Не не ошибки , ничего просто залипает и все ! Блок EXCEPT не срабатывает
KyRo (2006-09-15 13:48:00) [7]А где хоть примерно она может быть ? Если все отлично работает когда система уже загружена !! А если программа стартует автоматически после перезагрузки происходит вот такая херня.
//Считываем версию на сервере
Try
idFtp1.Connect(True,10000);
EXCEPT
label5.Caption:='no';
if time_aut = 0
then
begin
time_aut:=1 ;
StartTimer.Interval:=300000;
TrayIcon1.MinimizeApp;
StartTimer.Enabled:=True;
idFtp1.Disconnect;
exit;
end
else
begin
Start_Upd.Enabled:=True;
label5.Caption:='no';
exit;
end;
END;
try
size:=idFtp1.Size('Ver_Client.txt');
EXCEPT
// Если не удалось прочитать по таймауту
if StartTimer.Interval= 200
then size:=0;
END;
if size = 0
then
begin
if time_aut <> 0
then
begin
label5.Caption:='no';
Start_Upd.Enabled:=True;
idFtp1.Disconnect;
exit;
end;
time_aut:=1 ;
StartTimer.Interval:=300000;
TrayIcon1.MinimizeApp;
idFtp1.Disconnect;
StartTimer.Enabled:=True;
exit;
end ;
Try
idFtp1.Get('Ver_Client.txt',ExtractFilePath(Application.ExeName)+ '\Rolback\Ver_Client.txt',True,False);
EXCEPT
if StartTimer.Interval= 200
then exit;
if time_aut = 0
then
begin
time_aut:=1 ;
StartTimer.Interval:=300000;
TrayIcon1.MinimizeApp;
idFtp1.Disconnect;
StartTimer.Enabled:=True;
exit;
end
else
begin
Start_Upd.Enabled:=True;
idFtp1.Disconnect;
label5.Caption:='no';
exit;
end;
END;
И вот как видно из кода и лога проходит конект ,проходит запрос размера файла , а когда начинаю грузить файл на этом и залипает . А если отключаюсь и второй раз пытаюсь приконектится происходит
Stat Connected.
Recv 15.09.2006 12:12:20: 220 Serv-U FTP Server v6.1 for WinSock ready...<EOL>
Sent 15.09.2006 12:12:20: USER update<EOL>
Recv 15.09.2006 12:12:20: 331 User name okay, need password.<EOL>
Sent 15.09.2006 12:12:20: PASS update<EOL>
Recv 15.09.2006 12:12:20: 230 User logged in, proceed.<EOL>
Sent 15.09.2006 12:12:20: TYPE I<EOL>
Recv 15.09.2006 12:12:20: 200 Type set to I.<EOL>
Sent 15.09.2006 12:12:20: SYST<EOL>
Recv 15.09.2006 12:12:20: 215 UNIX Type: L8<EOL>
Sent 15.09.2006 12:12:20: SIZE Ver_Client.txt<EOL>
Recv 15.09.2006 12:12:20: 213 7<EOL>
Вот это .
Кстати не могут антивирусы как то перебивать заливку ?
Dmitrij_K (2006-09-15 13:45:00) [8]таймаут 1 секунда это плохо
Сергей М. (2006-09-15 13:35:00) [9]у тебя ошибка в программе