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