Russian Qt Forum
Июля 04, 2025, 07:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTcpSocket  (Прочитано 3491 раз)
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.032 секунд. Запросов: 20.