1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/liudegui-finger_server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Описание

FINGER_SERVER
├─bin            # Расположение сборки программы
├─common         # Обертка для sqlite3, модуль работы с данными, общие функции
├─CppClient       # Тестовый клиент
│  ├─RegistClient # Клиент регистрации
│  └─ValidateClient # Клиент аутентификации
├─lib             # Генерируемые зависимости
├─prj_linux       # Внешний каталог для makefile в Linux
├─RegistServer    # Сервер регистрации
├─thirdparty      # Зависимости от сторонних библиотек
│  ├─poco         # Библиотека POCO C++, версия OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListener. OnClickListeneruseage : app <dbPath> <port-(optional)>  
Пример:  
`./RegistClient 192.168.1.101 5000 1.info`

```markdown
### ValidateClient
```shell
useage : app <dbPath> <port-(optional)>
Пример:
./ValidateClient 192.168.1.101 5001 1.info

==============================================

Концепция проектирования серверной части

Основана на модели реактора сети, использует сетевой модуль из открытой библиотеки POCO. На основе std::vector<char> реализовано кольцо буферизации сообщений. Класс sqlite3 представляет собой обёртку для интерфейсов SQLite3, а DBHelper — это обёртка на уровне бизнес-логики. Каждое соединение создаёт новый объект ServiceHandler, такой как RegistServiceHandler для регистрации сервиса. Каждому RegistServiceHandler соответствует своё задание. Это гарантирует, что сервер не будет заблокирован множественными клиентскими запросами, так как проверка отпечатков пальцев происходит параллельно в разных заданиях.Для каждого соединения создаются следующие объекты:

struct Client
{
    Buffer inputBuffer;        // Буфер входящих сообщений
    Buffer outputBuffer;       // Буфер исходящих сообщений
    StreamSocket socket;       // Экземпляр сокета
};

Независимость входящего и исходящего буферов обеспечивает, что сообщения не будут заблокированы. Проектирование двух буферов для каждого соединения позволяет избежать необходимости использования блокировок, что может значительно увеличить нагрузку на процессор.

Сервер регистрации

Сервер регистрации принимает во внимание возможность одновременной работы только одного пользователя и использует механизм блокировки. Когда происходит модификация базы данных, новые соединения пользователей блокируются до тех пор, пока блокировка не будет освобождена, что гарантирует целостность данных.

При установлении нового соединения старое соединение освобождается.

Сервер верификации

Сервер верификации поддерживает многопоточную работу, аналогично операциям чтения из базы данных. Он использует итератор базы данных для последовательной проверки данных отпечатков пальцев.

Если совпадение найдено, цикл завершается, в противном случае он продолжается до конца всей базы данных.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой сервер аутентификации по отпечаткам пальцев. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/liudegui-finger_server.git
git@api.gitlife.ru:oschina-mirror/liudegui-finger_server.git
oschina-mirror
liudegui-finger_server
liudegui-finger_server
master