Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143

IdFTP, Сервер разорвал подключение

24.05.2014, 11:41. Показов 1265. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Пишу FTP-клиент (idFTP). Подскажите, пожалуйста, как обработать событие, когда сервер сам разрывает подключение? Например, сообщение мне вывести нужно об этом.
Событие
C++
1
OnDisconnected
обработал, но туда программа не попадает, равзе что явно вызвать этот метод...

Спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.05.2014, 11:41
Ответы с готовыми решениями:

IdFTP
IdFTP->List(SL,"*.zip",false) - находит все файлы, но IdFTP1->DirectoryListing->Items->ModifiedDate - не дает время. Если...

Компонент idFTP
делаю программу для работы с фтп (использую c++ builder 6) Не знаю как решить 2 проблемы. 1) Нужно получить дату изменения файла и...

Перенос БД на удаленный сервер и подключение к ней
Доброго времени суток. Проблема следующая: есть база данных Access, есть программа написанная в С++ Builder для работы с ней. Программа...

8
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.05.2014, 13:24
Исключения лови.
1
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
24.05.2014, 15:47  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Исключения лови.
Не совсем понял. В какой процедуре?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.05.2014, 15:55
Там где нужно. Это вам нужно лучше знать.

Сервер может не слать "прощай" клиенту, а значит клиент может узнать об разрыве соединения только при попытке обращения к серверу.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33192 / 21488 / 8233
Регистрация: 22.10.2011
Сообщений: 36,870
Записей в блоге: 12
24.05.2014, 15:56
Лучше всего - в Application.OnException...
1
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
24.05.2014, 17:08
Можно еще посмотеть срабатываете ли смена статуса
C++
1
2
3
4
5
6
7
//---------------------------------------------------------------------------
void __fastcall TForm1::IdFTP1Status(TObject *ASender, const TIdStatus AStatus, const UnicodeString AStatusText)
 
{
 
}
//---------------------------------------------------------------------------
1
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
25.05.2014, 12:32  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Можно еще посмотеть срабатываете ли смена статуса
Тут тоже реакции нет. Сейчас с исключениями попробую повозиться.

Добавлено через 13 минут
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm1::MyException( TObject *Sender, Exception *E )
{
    FTP->Disconnect();
}
 
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    Application->OnException = MyException;
}
Так не ловит, правда, я не уверен, что в FormCreate писать нужно...
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.05.2014, 13:29
Ну вообще обычно так делается

C++
1
2
3
4
5
6
7
8
9
10
FTP->Connect();
try
{
  FTP-> ...
  FTP-> ...
}
__finally
{
  FTP->Disconnect(); //  лучше  FTP->Disconnect(false); 
}
Т.е. если есть исключение закрываем соединение, также закрываем соединение, если сделали все что нужно.
1
12 / 12 / 4
Регистрация: 17.11.2010
Сообщений: 143
25.05.2014, 20:50  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
FTP->Connect();
Это у меня в кнопке находится. Программа ж не попадет туда, если я не нажму на кнопку.

Добавлено через 5 часов 23 минуты
Может кто-то еще что-то посоветуе)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.05.2014, 20:50
Помогаю со студенческими работами здесь

Клиент-сервер - Удаленный хост принудительно разорвал существующее подключение
Здравствуйте! Есть два приложения клиент и сервер, при передаче сообщений выдает ошибку: Удаленный хост принудительно разорвал существующее...

Удаленный хост принудительно разорвал существующее подключение
Первый раз пишу серверное приложение и столкнулся с такой проблемой Иногда, давольно не часто отлавливаю SocketsException :...

Удаленный хост принудительно разорвал существующее подключение
БП 3.0 открываю макет через администрирование - печатные формы отчеты и обработки - макеты печатных форм. Редактирую там и сохраняю, и при...

Кто разорвал соединение - клиент или сервер?
Здравствуйте. В моей программе есть клиент и сервер (TClientSocket, TServerSocket). У клиента в OnDisconnect указано выводить сообщение о...

Отправка email. Ошибка "Удаленный хост принудительно разорвал существующее подключение"
почему не работает? :( var msg = new MailMessage(); msg.From = new MailAddress("emailfrom@inbox.ru"); msg.To.Add(new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru