Реализация Winsock как способ авторизации
Решил спросить по поводу работы с winsock. Не до конца понимаю, что это из себя представляет, но хотел бы поинтересоваться возможностями данной библиотеки.
У меня уже есть написанные консольные программы. Я хотел бы сделать способ авторизации на следующих пунктах.
Пользователю предоставляется уникальный идентификатор. С помощью этот id, у него должен происходить вход в софт.
Когда генерируется этот id, он с клиента должен отправляться на сервер.
Сервер обрабатывает id и если он существует в конкретной базе данных — то разрешает вход в программу.
Сервер должен принимать id и сверять его с базой данных.
Так вот, в чем вопрос то. Смогу ли я реализовать подобные функции используя WinSock? Т.е. может ли сервер работать с базами данных?
Ответы (1 шт):
WinSock - это библиотека работы с сокетами.
Сокет - это, простыми словами говоря, "шланг", куда можно с обеих сторон засовывать байты, и они будут "вылезать" на другой стороне.
Есть множество примеров работы с WinSock, и практически все они - реализуют архитектуру "клиент - сервер"
Приментительно к Вашей задаче:
Вы хотите, чтобы клиент открывал соединение с сервером и посылал запрос на сервер. Сервер обрабатывал запрос и отвечал клиенту в духе "пароль правильный или пароль неправильный"
С помощью WinSock это, без сомнения, можно сделать.
Вам придется придумать протокол передачи, потому что WinSock не накладывает никаких ограничений на передаваемую информацию, а на сервере - сделать обработку приходящих запросов.
Скоре всего, протокол будет очень простым: "на сервере ловим строку, оканчивающуюся нулевым байтом. строка закодирована в ASCII. в строке содержится уникальный идентификатор. Отвтетить надо строкой, содержащей yes или no и оканчивающейся нулевым байтом"
Как то так.