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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: IP адрес клиента в QTcpServer  (Прочитано 4953 раз)
Lostinnet
Гость
« : Ноябрь 17, 2010, 12:31 »

Подскажите, имеется ли возможность определеить IP адрес подключаемого клиента, без создания QTcpSocket.
Необходимо отсекать от подключения запрещенные IP адреса
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1 : Ноябрь 17, 2010, 12:41 »

Нет. Информация о вновь подключившемся клиенте (его IP-шник) можно узнать только из сокета.
И в чем проблема то?  Тем более, что сокет все-равно создается автоматом...
Записан

ArchLinux x86_64 / Win10 64 bit
Lostinnet
Гость
« Ответ #2 : Ноябрь 17, 2010, 12:45 »

большие накладные расходы.
- создать поток, создать сокет... потом все это дело уничтожать, и будут у меня висеть потоки зомби
Записан
BRE
Гость
« Ответ #3 : Ноябрь 17, 2010, 12:50 »

большие накладные расходы.
- создать поток, создать сокет... потом все это дело уничтожать, и будут у меня висеть потоки зомби
Какой поток, какой зомби?  Подмигивающий
При подключении клиента, ты получаешь от QTcpServer указатель на объект сокет, смотри IP клиента, закрывай соединение и убивай объект сокет.
Записан
Lostinnet
Гость
« Ответ #4 : Ноябрь 17, 2010, 13:14 »

Просто у меня сервер многопоточный
Записан
BRE
Гость
« Ответ #5 : Ноябрь 17, 2010, 13:39 »

Просто у меня сервер многопоточный
Ну и что?
Если клиент прошел проверку, то создавай для него поток (хоть это и не очень хорошая идея для высоконагруженных серверов), если нет - то закрывай соединение и не запуская поток.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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