Реализация взаимодействия через PIPE
Существует два вида каналов: именованные и анонимные. Анонимные используются для передачи между родительским и дочерним приложением. Так как в данном проекте используются независимые сервер и клиент, анонимные каналы использовать не представляется возможным.
Поэтому для передачи SQL запроса с клиентского приложения на сервер, где находится СУБД SQLite, используется метод взаимодействия при помощи именованных каналов. При запуске сервера создается именованные канал. После по названию канала клиентское приложение связывается с сервером
Так как с сервером взаимодействует несколько клиентских приложений, возникает проблема идентификации каждого клиента в канале. Для этого используется буферы и маркеры для каждого клиентского приложения.
Сервер был реализован таким образом, что для каждого подключенного клиента создается свой потоки вся работа происходит в этом контексте. Таким образом исчезает задача идентификации каждого клиентского приложения так как в каждом потоке существует только одно приложение, для которого хранятся буферы и маркер.
Клиент представляет собой консольное приложение. В нем происходит ввод SQL запроса к серверу, его передача, прием и отображение ответа.
Для взаимодействия клиентского и серверного приложения требуются следующие функции:
Подключение клиента к серверу;
Передача строки запроса, введенной в клиентском приложении пользователем;
Прием ответа от сервера о результате исполнения или о возникших ошибках;
Отключение клиента от сервера.
- Исследование предметной области
- Постановка задачи
- Описание SQLite
- Устройство и характеристики СУБД SQLite
- Методы работы с базой данных
- Описание PIPE под Windows
- Общие понятия
- Именованные каналы
- Методы WinAPI для передачи данных
- Замысел технического решения
- Реализация взаимодействия через PIPE
- Исполнение запросов к SQLite
- Описание программы
- Сервер
- Клиент
- API
- Заключение
- Преимущества серверов приложений:
- Архитектура приложений бд, механизмы доступа к данным.
- Клиентское приложение:
- Клиентское приложение:
- Разработка клиентских приложений на основе архитектуры «Клиент – сервер»
- Программные и объектные интерфейсы для взаимодействия Web-сервера с субд-сервером: db Library, odbc, rdo, ole db, ado.
- 9.5.Клиенты, серверы. Клиентские приложения, серверы баз данных.
- 23.2.2. Доступ к базам данных в двухзвенных моделях «клиент-сервер»