Пишу FTP клиент. Вопрос:
как определить что соединения разорвано ?
Поясняю: прога работает, отображает каталоги, переходит по ним. Но если "постоит" (т.е. пройдет таймаут) и попытаться перейти в другой каталог или обновить папку вылетает с error'ом.
Какое свойство указывает на то что коннекта нет ?
почему-то конструкция:
if(mySocket.isWriteble) или if(mySocket.isReadeble) не помогает...
QTcpSocket (определения разрыва соединения с FTP сервиром)
Модератор: Модераторы разделов
-
GodHermes
- Сообщения: 68
- ОС: openSuSE 11.2 x86_64
QTcpSocket
Знать всё невозможно, можно только вовремя находить то что необходимо
-
NickLion
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: QTcpSocket
Это еще Qt3?
Когда производится чтение из сокета и recv возвращает длину 0 - значит удаленный хост закрыл подключение. Должно быть нечто аналогичное.
Когда производится чтение из сокета и recv возвращает длину 0 - значит удаленный хост закрыл подключение. Должно быть нечто аналогичное.
-
GodHermes
- Сообщения: 68
- ОС: openSuSE 11.2 x86_64
Re: QTcpSocket
нет, это уже последняя Qt 4.5
но попробую что-нить поковырять в этом направлении, спасибо!
Знать всё невозможно, можно только вовремя находить то что необходимо
-
fbi
- Сообщения: 34
Re: QTcpSocket
А откуда в Qt 4.5 у вас взялся QSocket? Открываю Assistant, в поиске набираю QSocket и... о чудо... нет QSocket! Есть класс поддержки Qt3Socket, но тогда зачем его использовать, если есть более заманчивый QTcpSocket? А конкретно для вашего случая есть класс QFtp! Как и в QTcpSocket так и в QFtp есть все что вам необходимо!
-
GodHermes
- Сообщения: 68
- ОС: openSuSE 11.2 x86_64
Re: QTcpSocket
прошу прощения, да действительно QTcpSocket...
просто вчера, когда писал пост не было исходника под рукой...
а мысли вспомнили эту проблему, решил задать :-)
и к сожалению я не могу использовать по заданию QFtp (хотя соблазн имеется =) )
просто вчера, когда писал пост не было исходника под рукой...
а мысли вспомнили эту проблему, решил задать :-)
и к сожалению я не могу использовать по заданию QFtp (хотя соблазн имеется =) )
Знать всё невозможно, можно только вовремя находить то что необходимо
-
fbi
- Сообщения: 34
Re: QTcpSocket
сигнал void disconnected (), у родителя QAbstractSocket обрабатывать пробовали? И обрабатывайте все таки не через isWriteble или isReadeble, у QAbstractSocket, есть метод state (), вам по всему туда!
-
GodHermes
- Сообщения: 68
- ОС: openSuSE 11.2 x86_64
Re: QTcpSocket
fbi Спасибо за помощь! Буду разбираться! ;-)
Знать всё невозможно, можно только вовремя находить то что необходимо
-
Denjs
- Сообщения: 1685
- ОС: SuSe 10.2
Re: QTcpSocket
Можно ещё йекзамплы смотреть. помогаёет, да.
Например "фортуне-сервер".
Там сигнал disconnected() залинкован на самого себя на deleteLater()
Например "фортуне-сервер".
Там сигнал disconnected() залинкован на самого себя на deleteLater()