client
Клиент
- демон
- запускается на компьютере с выделенным IP
- слушает порты
- читает параметры из конфиг-файла
- к нему подключены несколько Lego установок
Функции демона
- Обмен данными с Lego установками: protokol
- Обмен данными с Cервером: protokol
- Логирование
Логирование
Данные логируются в таблицы mySQL:
- experiment_12_read
- experiment_12_write
Структура данных клиента
- Хеш-список Lego:
Lego{'имя установки'} = данные, необходимые для связи с установкой
имя установки — 16 байт
- Данные из конфиг файла
- Очередь команд для каждого Lеgо (+ выделить алгоритм для обслуживания)
*----------------* *------* *---------------------*
--->| Очередь команд |-->| Lego |-->| Получение timestamp |
*----------------* *------* *---------------------*
|
*---------------------* |
БД<--| Формирование пакета |<--*
*---------------------*
| |
*------* |
| порт | |
| UPD | *----------------------*
*------* | Очередь для отправки |
| по протоколу TCP/IP |
*----------------------*
|
*------*
| Порт |
| TCP |
*------*
Конфиг файл
- Имя клиента (16 байт)
- Адрес сервера IP
- порт сервера для TCP
- порт сервера для UDP
- Имена Lego установок
- Данные для связи с БД (вкл. то, что нужно для имен таблиц)