QFtp тайм-аут команд |
Здравствуйте, гость ( Вход | Регистрация )
QFtp тайм-аут команд |
hokum |
9.9.2009, 13:11
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.9.2009 Пользователь №: 1067 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток!
Ситуация: В программе необходимо передавать/получать данные по протоколу FTP, для этой цели воспользовался классом QFtp, но так как соединение не стабильное, возникают неприятности: если сервер не доступен, то при соединении подвисает, т.е. не посылается сигнал завершения команды, аналогично происходит и с другими командами. Попытки прервать выполнение команды, используя QFtp::abort(), QFtp::close(), ничего не дают. Поискал в инете рекомендуют не пользоваться QFtp Вариант решения: Пока даную проблему решаю при помощи запуска таймера, если пришел сигнал о завершении команды, то таймер останавливается, иначе удаляю объект QFtp и создаю его заново. Вопрос: Хотелось бы узнать, насколько корректно предложенное решение, и какие у него могут быть подводные камни, есть ли другие варианты заставить QFtp отваливаться по тайм-ауту... Если это RTFM, то ткните в конкретное место, перечитал документацию и ничего не нашел про тайм-ауты у QFtp P.S. Пример ftp клиента, идущий вместе с QT, так же "подвисает"... |
|
|
kwisp |
9.9.2009, 14:13
Сообщение
#2
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
|
|
|
ViGOur |
9.9.2009, 14:14
Сообщение
#3
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Прерывание соединения по таймауту обычная практика, как со стороны клиента, так и со стороны сервера.
Так что твое решение думаю самое-то... А сигнал QFtp::commandFinished не отрабатывает? |
|
|
kwisp |
9.9.2009, 14:16
Сообщение
#4
|
астарожна ынтжинэр Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: 23 |
ViGOur,
он походу не отработает пока ответ от сервера не придет ответ на АБОРТ. |
|
|
hokum |
9.9.2009, 15:07
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 9.9.2009 Пользователь №: 1067 Спасибо сказали: 0 раз(а) Репутация: 0 |
на сколько нестабильное? интернет через SkyLink и соединение рветься иногда, не часто, но так как програмой пользоваться будут люди далекие от компьютеров программа не подающая признаков жизни в течение долго времени, может вызвать панику. А сигнал QFtp::commandFinished не отрабатывает? нет, не отрабатывает. Всем спасибо за отклик, если возникнут какие-то траблы с таймаутом, то отпишусь. |
|
|
Текстовая версия | Сейчас: 14.1.2025, 19:39 |