45 lines
1.8 KiB
Markdown
45 lines
1.8 KiB
Markdown
|
# Handshake.Request
|
|||
|
|
|||
|
**Значение: 0x1001**
|
|||
|
|
|||
|
## Client2Server
|
|||
|
|
|||
|
Инициирующее рукопожатие событие. Передаёт все ключевые данные для осуществления дальнейшей коммуникации.
|
|||
|
|
|||
|
**Фиксированная схема:**
|
|||
|
|
|||
|
- Магическое число
|
|||
|
- _Размер:_ 8 байт
|
|||
|
- _Тип:_ `uint64_t`
|
|||
|
- Магическое число протокола, по которому определяется совместимость цели с протоколом MFP. Являет из себя строку "MarafonP" в кодировке ASCII.
|
|||
|
- Версия протокола
|
|||
|
- _Размер:_ 4 байта
|
|||
|
- _Тип:_ `uint8_t[4]`
|
|||
|
- Максимальная поддерживаемая запрашивающим версия протокола.
|
|||
|
- Флаги переподключения
|
|||
|
- _Размер:_ 2 байта
|
|||
|
- _Тип:_ `uint16_t`
|
|||
|
- Описывает параметры нового подключения:
|
|||
|
- 0b0000000000000000: оставить текущее подключение
|
|||
|
- 0b0000000000000001: переподключиться к тому-же порту
|
|||
|
- 0b0000000000000010: запросить новый порт для подключения
|
|||
|
- 0b0000000000000100: использовать TCP
|
|||
|
- 0b0000000000001000: использовать TLS
|
|||
|
- 0b0000111111110000: резерв под расширение
|
|||
|
- 0b1111000000000000: резерв под под нужды сторонних реализаций
|
|||
|
- Размер пакета
|
|||
|
- _Размер:_ 4 байта
|
|||
|
- _Тип:_ `uint32_t`
|
|||
|
- Устанавливает используемый при коммуникации размер пакета.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## Server2Client
|
|||
|
|
|||
|
_Не применимо._
|
|||
|
|
|||
|
|
|||
|
|
|||
|
## Server2Server
|
|||
|
|
|||
|
_Также как и Client2Server._
|