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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Клиент-сервер: идентификация клиентов.  (Прочитано 12859 раз)
Yegor
Гость
« : Май 22, 2017, 14:05 »

Здравствуйте!

Есть сервер. Принимает приходящие соединения от клиентов, с помощью QTcpServer. Соединение устанавливается на долго, идет обмен данными. У сервера есть БД c информацией о всех своих клиентах. Только им можно подключаться, другим подключение запрещено.

Клиенты подключаются к серверу с помощью QTcpSocket.

Вопрос: как идентифицировать подключающиеся клиенты? При подключении можно взять QTcpSocket, а как узнать какому именно клиенту он принадлежит.

Думаю, задача распространенная.
Спасибо!
« Последнее редактирование: Май 22, 2017, 15:32 от Yegor » Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Май 22, 2017, 14:10 »

Пусть клиент первым сообщением передает данные о себе.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Yegor
Гость
« Ответ #2 : Май 22, 2017, 15:10 »

Пусть клиент первым сообщением передает данные о себе.
То есть пусть передаст (запишет байтами) свой идентификатор, а сервер считает из сокета эти байты. А это общепринятая практика?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #3 : Май 22, 2017, 15:22 »

Да, у каждого взаимодействия есть свой протокол. Попробуй вот такой протокол:
Код:
<PROTOCOL 1.0
>PROTOCOL OK
<LOGIN name=vasya password=long_vasya_parol
>LOGIN OK
<SOME_COMMAND
>SOME_COMMAND_RESULT
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Yegor
Гость
« Ответ #4 : Май 22, 2017, 15:32 »

Понятно, можно придумать свой собственный протокол авторизации. Спасибо большое!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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