Russian Qt Forum
Сентябрь 30, 2024, 02:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вопрос по QFtp, и маленький вопросик по QTcpServer  (Прочитано 3518 раз)
G-virus
Гость
« : Апрель 15, 2010, 23:58 »

Всем привет. Два легких вопроса.
1) QFtp. В конструкторе класса выполняю ftp.connectToHost() и ftp.login().
в деструкторе ftp.close() и ftp.disconnect().
Вопрос: В функциях описанных в этом классе есть функции для загрузки и скчивания файла. Первый раз загружаю или скачиваю - все ок. При втором разе ничего не скачивает или не загружается, что  делаю не так?
2)QTcpServer. Создаю объект server. Какой метод проверяет, подключен ли к данному QTcpServer клиент? Рылся - не нашел  Смеющийся

Заранее спасибо  Улыбающийся
Записан
SimpleSunny
Гость
« Ответ #1 : Апрель 16, 2010, 00:03 »

1. Без помощи экстрасенсов никуда =). Посмотри сниффером трафик.
2. void QTcpServer::newConnection ()   [signal] или bool QTcpServer::hasPendingConnections () const   [virtual]. Или имелось в виду подключен какой-то конкретный клиент? Если да, то то проще самому реализовать запоминалку подключенных клиентов. Хотя можно пробежаться по детям QTcpServer, найти QTcpSocket и проверять на конкретного клиента.
« Последнее редактирование: Апрель 16, 2010, 00:16 от SimpleSunny » Записан
Akaiten
Гость
« Ответ #2 : Апрель 16, 2010, 08:41 »

1.а Возможно у сервера стоит timeout, и он отключает клиента.
1.б Помню возникал проблемы с QFtp при нескольких последовательных запросах, конкретно не помню как разрешил, но если ты вызываешь ftp команды (QFtp::get, QFtp::put и т.п.) из слота-обработчика сигнала от QFtp, то попробый вызвать их в другом месте (не в обработчике сигнала от QFtp) или хотябы через QTimer::singleShot(0, ...).
Записан
G-virus
Гость
« Ответ #3 : Апрель 16, 2010, 12:21 »

Или имелось в виду подключен какой-то конкретный клиент?

нет нет, именно требовалось проверять, к данному серверу подключено что-то или нет Улыбающийся Спасибо

1.а Возможно у сервера стоит timeout, и он отключает клиента.
1.б Помню возникал проблемы с QFtp при нескольких последовательных запросах, конкретно не помню как разрешил, но если ты вызываешь ftp команды (QFtp::get, QFtp::put и т.п.) из слота-обработчика сигнала от QFtp, то попробый вызвать их в другом месте (не в обработчике сигнала от QFtp) или хотябы через QTimer::singleShot(0, ...).

А какая собственно разница? Что в QTimer, что в слоте. QTmer то все равно вызовет слот Улыбающийся Или я чего-то не понял?
Записан
Akaiten
Гость
« Ответ #4 : Апрель 16, 2010, 13:20 »

А какая собственно разница? Что в QTimer, что в слоте. QTmer то все равно вызовет слот Улыбающийся Или я чего-то не понял?

Я имел ввиду не вызывать новые команды QFtp в обработчике сигнала QFtp::done или QFtp::commandFinished и т.п.
Записан
G-virus
Гость
« Ответ #5 : Апрель 16, 2010, 13:46 »

Видимо были какие-то лаги. Опять запустил, потестил - все пашет.
« Последнее редактирование: Апрель 16, 2010, 22:37 от G-virus » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 20.