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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTcpSocket  (Прочитано 3366 раз)
andrew.k
Гость
« : Март 28, 2011, 14:53 »

Использую сабж.
Вызывают connectToHost, сокет переходит в состояние ConnectingState.
Узел к которому я подключаюсь находится грубо говоря за файерволом, который может блокировать канал.
В этом случае, сокет не может определить, что узел не доступен и так и висит в ConnectingState.
Отсюда проблема. Не получается его вывести из этого состояния.
socket.abort() не помогает, хотя судя по документации должен. socket.close() тоже.
Как быть подскажите, может кто сталкивался, пока вижу только один вариант, создавать сокет динамически и удалять.
А как следствие этой проблемы, даже когда канал становится доступным, сокет не может очнуться. Так и висит в состоянии ConnectingState и новое соединение не проходит.
Записан
ilyagoo
Гость
« Ответ #1 : Март 29, 2011, 10:23 »

bool QAbstractSocket::waitForConnected ( int msecs = 30000 )?
Записан
andrew.k
Гость
« Ответ #2 : Март 30, 2011, 10:30 »

bool QAbstractSocket::waitForConnected ( int msecs = 30000 )?
Это если использовать сокет синхронно, у меня все сделано асинхронно, через сигналы.
Но и это думаю не поможет.
Записан
mutineer
Гость
« Ответ #3 : Апрель 06, 2011, 14:04 »

Ошибку подключения сокет тоже не выдает?
Записан
andrew.k
Гость
« Ответ #4 : Апрель 06, 2011, 14:41 »

нет. он вообще никак не реагирует.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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