Что нужно:
* Клиент формирует один или несколько запросов и посылает серверу.
* Сервер принимает запросы клиентов и отвечает либо сообщением об ошибке, либо сообщением о принятии запроса на обработку.
* Сервер обрабатывает запросы и по мере готовности результатов, отсылает данные отдельными записями (которые могут идти вперемежку от разных запросов, если клиент ждет результатов для нескольких запросов).
* Клиент получает частичные результаты (и что он дальше с ними делает, в рамках этого треда уже не важно).
* После полного выполнения запроса сервер посылает сообщение клеинту, что запрос выполнен, и новых результатов не будет.
* Клиент может отметить выполнение запроса, пока запрос находится в процессе выполнения.
Пересылаемые в результатах данные — записи вида ключ-значение, где ключ — пара чисел, а значение может быть типа: число, utf8-строка, произвольный массив байт. (Фактически, результатом является двумерная матрица, а пара чисел ключа — это координаты ячейки в ней. Результирующая матрица может быть разреженной.) Эти данные необходимо эффективно сериализовывать/десериализовывать. К эффективности пересылки и сериализации запросов специфических требований нет, т.к. запросы будут пересылаться относительно редко, по сравнению с пересылкой результатов.
Соединение клиента и сервера осуществляется через сокет TCP или локальный сокет Unix.
Язык реализации — Си.
Какие есть библиотеки, которые могут помочь в реализации сервера и интерфейсной библиотеки для клиента? Может есть что-то готовое под похожую задачу, чтобы можно было перепилить под свои нужды с минимальными затратами?
Ответ на:
комментарий
от tensai_cirno
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Клиент-серверный DC клиент (2010)
- Форум Клиент-серверный текстовый редактор (2015)
- Форум не клиент серверный puppet (2016)
- Форум Клиент-серверные базы данных (2011)
- Форум Клиент-серверный вариант OpenVPN (2019)
- Форум Архитектура клиент-серверного приложения (2018)
- Форум О клиент-серверных приложениях (2024)
- Форум Архитектура, клиент-серверное взаимодействие. (2009)
- Форум Программист клиент-серверных приложений (2007)
- Форум Клиент-серверный PIM с кроссплатформенным клиентом (2011)