server
Сервер
- демон
- запускается на компьютере с выделенным IP
- слушает порты
- читает параметры из конфиг-файла
Функции демона
- Обмен данными с Клиентами: protokol
- Обмен данными с Регуляторами: protokol
- Логирование
Структура данных сервера
- Данные из кониг файла
- Хеш-список клиентов {'имя'}->(ip,tcp-порт,upd-порт)
- Для каждого регулятора — очередь команд от него
и выделить алгоритм для обработки этих команд
- Кеш-список состояний всех датчиков:
{'имя лего'}->(список типов датчиков)->(массив до 4х элементов)
единица записи:
- данные
- время измерения
- время кеширования (когда пришел на сервер)
- список рег., которые запрашивали данные о состоянии
Логирование
Логирование осуществляется записью в таблицы MySQL (локально).
Конфиг-файл
- Имя сервера (16 байт)
- порты сервера для общения с клиентами по TCP
- порты сервера для общения с клиентами по UDP
- Данные для связи с БД (вкл. то, что нужно для имен таблиц)
- Порты для общения с регуляторами