45 lines
1.8 KiB
Markdown
Raw Normal View History

# 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._