Russian Qt Forum

Qt => Работа с сетью => Тема начата: Yegor от Май 22, 2017, 14:05



Название: [РЕШЕНО] Клиент-сервер: идентификация клиентов.
Отправлено: Yegor от Май 22, 2017, 14:05
Здравствуйте!

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

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

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

Думаю, задача распространенная.
Спасибо!


Название: Re: Клиент-сервер: идентификация клиентов.
Отправлено: Пантер от Май 22, 2017, 14:10
Пусть клиент первым сообщением передает данные о себе.


Название: Re: Клиент-сервер: идентификация клиентов.
Отправлено: Yegor от Май 22, 2017, 15:10
Пусть клиент первым сообщением передает данные о себе.
То есть пусть передаст (запишет байтами) свой идентификатор, а сервер считает из сокета эти байты. А это общепринятая практика?


Название: Re: Клиент-сервер: идентификация клиентов.
Отправлено: Пантер от Май 22, 2017, 15:22
Да, у каждого взаимодействия есть свой протокол. Попробуй вот такой протокол:
Код:
<PROTOCOL 1.0
>PROTOCOL OK
<LOGIN name=vasya password=long_vasya_parol
>LOGIN OK
<SOME_COMMAND
>SOME_COMMAND_RESULT


Название: Re: Клиент-сервер: идентификация клиентов.
Отправлено: Yegor от Май 22, 2017, 15:32
Понятно, можно придумать свой собственный протокол авторизации. Спасибо большое!