Протокол сетевого взаимодействия клента GUI с сервером

advertisement
Протокол сетевого взаимодействия управляющего ПО системы “Wireless adaptive AP” и пользовательского
графического интерфейса.
Формат пакета:
Таблица 1.
“CTRL”
Version
4 байта
1 байт
Req/Resp
flag
ID
Action
Code
Length
Data
1 байт
4 байта
(Uint)
4 байта
(int)
4 байта
(int)
Length байт
Поля:
1. CTRL – первые 4 байта посылки – символы ‘C’,’T’,’R’,’L’ таблицы ASCII.
2. Version поле типа unsigned char. Определяет версию описываемого протокола.
3. Req/Resp flag – поле определяющее, является ли данное сообщение запросом от GUI к серверу (1), либо ответом от сервера клиенту
(0).
4. ID – порядковый номер сообщения управления. Задается при запросе. При ответе- копируется из запроса.
5. Action Code – код операции согласно таблице 3.
6. Length – длина поля Data в байтах.
7. Data поле данных в соответствии с таблицей 3.
Форматы полей данных, часто использованные в данном протоколе:
Таблица 2.
MAC_STRUCT 14 bytes
MAC address
6 байт
Weight
4 байт (float)
MACS_STRUCT – 8 + 14*N bytes.
Number of MAC_STRUCT
4 байта (int)
Rssi_Calc_Meth
4 байта (int)
Returned RSSI
4 байт (float)
MAC_STRUCT
14 байт
…
…
1. Первое поле – количество структур описывающих MAC.
2. Метод вычисления RSSI. Определяется в:
enum rssi_calc_meth {additive, ratio, add_square, none_calc}
3. Далее следуют последовательно определенное количество полей типа MAC_STRUCT.
VOLTAGES
Число напр-й(4 байта)
Напр1 (4 байта) (целое число)
Напр2 (4 байта)
Напр2 (4 байта)
…
MAC
1 байт
1 байт
1 байт
1 байт
1 байт
1 байт
OK
0 (4 байта)
ERR
1 (4 байта)
RSSI
Float (4 байта)
SEEK_RESULT
int(4 байта) Число углов (без
int(4 байта) Угол (0-360) или число (1000 Float (4 байта) RSSI
учета неугловых комбинаций) – нули, а также другие значения )
URICH_MSG
int(4 байта) Номер
int(4 байта)Всего поколений (мб <
Float (4 байта) процент в
поколения
номера!)
поколении
MACS_STRUCT
Float (4 байта) RSSI
ELITE _MSG
int(4 байта) Номер поколения
RESULT_MSG
Float (4 байта) RSSI
MACS_LIST 4б +10байт*32
int(4 байта) Число маков
CONTROL 16 байт
Состояние(1 б)
int(4 байта) Номер элиты
int(4 байта) Всего элит
Voltages
Voltages
MAC
Оптимизатор запущен(1 б)
…
RSSI
Поиск запущен(1 б)
Состояние(1 б)
0 –Все в порядке
1 и более – Ошибка (какая – определяется номером, пока не придумали)
*** запущен –
0 – не запущен
1 - запущен
- пустое поле данных.
Float (4 байта) RSSI
Чекер запущен(1 б)
Резерв (12 байт)
Таблица 2.
№ Название
1.1 Запуск
оптимизатора
1.2 Остановка
оптимизации.
1.3 Пауза
оптимизации
1.4 Продолжение
оптимизации
101
Формат запроса
MACS_STRUCT , флаг
использования начальных
напряжений (int, 4 байта) если
1, то далее VOLTAGES
-
102
-
OK/ERR
103
-
OK/ERR
2.1 Запуск поиска
200
MACS_STRUCT
OK/ERR
2.2 Остановка
поиска
2.3 Установка Угла
201
-
OK/ERR
202
int(4 байта), Угол в градусах
OK/ERR
3.1 Запуск беск.
Чекера
Стоп беск.
Чекера
Проверка
структуры мак
300
MACS_STRUCT,
VOLTAGES
-
OK/ERR
MACS_STRUCT,
VOLTAGES
RSSI,MACS_STRUCT В ответе – первые 4 байта общий RSSI
посчитанный заданным в настройках методом.
В структуре – данные для каждого мака в
отдельности.
RSSI, MAC
OK/ERR
Просто установка. Ничего лишнего
Action Code
100
301
400
Проверка 1 MAC 401
Установка
402
напряжений
Уст. Метода
500
MAC,VOLTAGES
VOLTAGES
arg (int, 4 байта)
Формат ответа
OK/ERR
Примечание
При формировании запроса поле Returned RSSI
блока данных MAC_STRUCT необходимо
задать равным нулю.
OK/ERR
При формировании запроса поле Returned RSSI
блока данных MAC_STRUCT необходимо
задать равным нулю.
Будет установлен ближайший угол, меньше
либо равный заданному
OK/ERR
-
рассч. Рсси
Уст. Имени табл.
Поиска
Уст. TS_PARAM
Уст. PS_PARAM
Уст. Числа
запросов
до/после Опт.
Уст. Числа
усред.
Чит.. Метод
рассч. Рсси
Чит.. Имя табл.
Поиска
Чит..
TS_PARAM
Чит..
PS_PARAM
Чит.. Число
запросов
до/после Опт.
Чит.. Число
усред.
Получение
списка маков
Контроль
№
Название
Текущий р-т
поиска
Текущий ур RSSI
-
502
503
504
Char* (не более 256 байт,
заканчивается нулем)
arg (float, 4 байта)
arg (float, 4 байта)
arg (int, 4 байта)
505
arg (int, 4 байта)
-
501
-
600
-
arg (int, 4 байта)
601
-
602
-
Char* (не более 256
байт, заканчивается
нулем)
arg (float, 4 байта)
603
-
arg (float, 4 байта)
604
-
arg (int, 4 байта)
605
-
arg (int, 4 байта)
700
-
MACS_LIST
701
-
CONTROL
Action Code
250
150
Формат запроса
SEEK_RESULT
URICH_MSG
Формат ответа
-
Примечание
в опт.
Текущая элита
Результат опт
FATALITY
151
152
050
InternalConnection 1112
ELITE _MSG
RESULT _MSG
OK
OK/ERR
-
Через 3 сек. После отправки оптимизатор
закроется. Можно курить.
Зарезервировано для внутренних нужд клиента.
Download