Skip to content

Протокол первого уровня Cspyp1

exileed edited this page Sep 24, 2012 · 1 revision

Протокол первого уровня Cspyp1 v. 3

В данный момент актуальной версией протокола Cspyp1 является версия 3. Протокол Cspyp1 является бинарным протоколом, т. е. при работе с ним необходимо оперировать байтами.

Protocol ID: 1; Protocol version: 3


**Список констант протокола Cspyp1**
Command ID Значение Комментарий
auth 1 Команда авторизации клиентов
adm 2 Команда авторизации администратора
list 3 Команда запроса списка клиентов
ping 4 Команда проверки соединения «пинг»
rlist 5 Команда передачи списка клиентов
transmit 6 Команда передачи информации
disconnect 7 Команда отключения клиента
setinfo 8 Команда обновления информации о клиенте

**Список команд, посылаемых клиентом серверу:**
  1. Команда авторизации клиента
  2. Команда передачи информации
  3. Команда ответа на пинг
  4. Команда отключения

**Список команд, посылаемых администратором серверу:**
  1. Команда авторизации администратора
  2. Команда передачи информации
  3. Команда запроса списка клиентов
  4. Команда ответа на пинг
  5. Команда отключения
  6. Команда обновления информации о клиенте

**Список команд, посылаемых сервером клиенту:**
  1. Команда передачи информации
  2. Команда пинг (проверка соединения)

**Список команд, посылаемых сервером администратору:**
  1. Команда передачи списка клиентов
  2. Команда передачи информации
  3. Команда пинг (проверка соединения)

## **Описание команд, входящих в состав протокола Cspyp1**
**Пакет авторизации клиента** (59 байт)
Protocol ID Protocol version Command ID (auth) Client hash OS Device Type
1 byte 1 byte 1 byte 16 bytes 20 bytes 20 bytes
* Protocol ID – идентификатор протокола Cspyp1 * Protocol version – текущая версия протокола Cspyp1 * Command ID (auth) – идентификатор команды авторизации клиента * Client hash – 16 байтный хеш клиента * OS – строка с текстовым наименованием ОС * DeviceType – строка с текстовым наименованием типа устройства
**Пакет авторизации администратора** (47 байт)
Protocol ID Protocol version Command ID (adm) Admin login Admin password
1 byte 1 byte 1 byte 22 bytes 22 bytes
* Protocol ID – идентификатор протокола Cspyp1 * Protocol version – текущая версия протокола Cspyp1 * Command ID (adm) – идентификатор команды авторизации администратора * Admin login — логин администратора в виде «Null terminated string» * Admin password — пароль администратора в виде «Null terminated string»
**Пакет запроса списка клиентов** (3 байта)
Protocol ID Protocol version Command ID (list)
1 byte 1 byte 1 byte
* Protocol ID – идентификатор протокола Cspyp1 * Protocol version – текущая версия протокола Cspyp1 * Command ID (list) – идентификатор команды запроса списка клиентов
**Пакет проверки соединения «пинг»** (3 байта)
Protocol ID Protocol version Command ID (ping)
1 byte 1 byte 1 byte
  • Protocol ID – идентификатор протокола Cspyp1
  • Protocol version – текущая версия протокола Cspyp1
  • Command ID (list) – идентификатор команды проверки соединения ping

**Пакет передачи списка клиентов**
Protocol ID Protocol version Command ID (rlist) Number of clients Client info array
1 byte 1 byte 1 byte 2 bytes Array of 92 bytes structs
  • Protocol ID – идентификатор протокола Cspyp1
  • Protocol version – текущая версия протокола Cspyp1
  • Command ID (rlist) – идентификатор команды передачи списка клиентов
  • Number of clients – количество клиентов
  • Client info array – массив структур с информацией о клиенте

Структура Client info имеет следующий вид:

Client ID Client hash OS Device Type IP Caption
2 bytes 16 bytes 20 bytes 20 bytes 4 bytes 30 bytes
  • Client ID – идентификатор клиента (соответствует идентификатору клиентского сокета на сервере)
  • Client hash – 16 байтный хеш клиента
  • OS – операционная система клиента
  • Device Type – тип устройства клиента
  • IP – ip адрес клиента
  • Caption – наименование клиента

**Пакет передачи информации**
Protocol ID Protocol version Command ID (transmit) Client ID Data size Data
1 byte 1 byte 1 byte 2 bytes 4 bytes ... bytes
  • Protocol ID – идентификатор протокола Cspyp1
  • Protocol version – текущая версия протокола Cspyp1
  • Command ID (receive) – идентификатор команды передачи информации
  • Client ID – идентификатор клиента
  • Data size – размер передаваемой информации
  • Data – передаваемая информация

**Пакет отключения клиента**
Protocol ID Protocol version Command ID (disconnect)
1 byte 1 byte 1 byte
  • Protocol ID – идентификатор протокола Cspyp1
  • Protocol version – текущая версия протокола Cspyp1
  • Command ID (disconnect) – идентификатор команды отключения

**Пакет изменения информации о клиенте** (35 байт)
Protocol ID Protocol version Command ID (setinfo) Client ID Caption
1 byte 1 byte 1 byte 2 bytes 30 bytes
  • Protocol ID – идентификатор протокола Cspyp1
  • Protocol version – текущая версия протокола Cspyp1
  • Command ID (setinfo) – идентификатор команды изменения информации о клиенте
  • Client ID – идентификатор клиента
  • Caption – строка с названием клиента