5. Установка соединения с сервером
Соединение с сервером может быть защищенным или незащищенным. Параметры соединения задаются инициатором соединения в поле <connection_flags> пакета NPH_SGC_CONN_REQUEST. В первом случае все пакеты передаются в зашифрованном виде, за исключением пакетов установки соединения:
В случае отказа в установке соединении (на любом этапе) сервер посылает клиенту незашифрованный пакет NPH_RESULT с кодом ошибки.
Пакет запроса установки соединения NPH_SGC_CONN_REQUEST имеет следующий формат поля <data>:
┌─────────────────────┬──────┬───────────┬─────────────────────┬───────────────┐
│ Поле │Длина │ Тип │ Описание │Может ли данное│
│ │ │ │ │поле (значение)│
│ │ │ │ │ изменяться │
├─────────────────────┼──────┼───────────┼─────────────────────┼───────────────┤
│<proto_version_high> │ 2 │ unsigned │ Версия протокола │ Нет. В поле │
│ │ │ int16 │NDTP (старший номер) │ всегда должно │
│ │ │ │ │ быть │
│ │ │ │ │ установлено │
│ │ │ │ │ значение 1 │
├─────────────────────┼──────┼───────────┼─────────────────────┼───────────────┤
│ <proto_version_low> │ 2 │ unsigned │ Версия протокола │ Да │
│ │ │ int16 │NDTP (младший номер) │ │
├─────────────────────┼──────┼───────────┼─────────────────────┼───────────────┤
│ <connection_flags> │ 2 │ unsigned │ Опции соединения, │ Нет. Все │
│ │ │ int16 │определяет настройки │значения битов │
│ │ │ │ соединения, которые │ кроме второго │
│ │ │ │будут использоваться │ должны быть │
│ │ │ │ после установки │ установлены в │
│ │ │ │ соединения. (бит2: │ 0. Значение │
│ │ │ │ рассчитывать CRC │ второго бита │
│ │ │ │ пакетов (0 - нет, │ должно быть │
│ │ │ │ 1 - да) │установлено в 1│
├─────────────────────┼──────┼───────────┼─────────────────────┼───────────────┤
│ <peer_address> │ 4 │ unsigned │ Адрес участника │ Да │
│ │ │ int32 │ соединения, │ │
│ │ │ │ пославшего пакет │ │
├─────────────────────┼──────┼───────────┼─────────────────────┼───────────────┤
│ <max_packet_size> │ 4 │ unsigned │ Максимальный размер │ Нет. Все │
│ │ │ int32 │ пакета, который │значения битов │
│ │ │ │ сможет обработать │ должны быть │
│ │ │ │ данный участник │установлены в 0│
│ │ │ │ соединения │ │
└─────────────────────┴──────┴───────────┴─────────────────────┴───────────────┘
Так как сервер не устанавливает соединения, то пакет запроса соединения посылают только клиенты (СТС).
Поля <proto_version_high> и <proto_version_low> определяют версию протокола, по которой собирается работать клиент. <proto_version_high> всегда должно быть установлено в 1.
Пакет с массивом данных для аутентификации клиента NPH_SGC_CONN_AUTH_STRING имеет следующий формат поля <data>:
┌────────┬───────┬────────┬─────────────────────────────┬─────────────────┐
│ Поле │ Длина │ Тип │ Описание │Может ли данное │
│ │ │ │ │ поле (значение) │
│ │ │ │ │ изменяться │
├────────┼───────┼────────┼─────────────────────────────┼─────────────────┤
│ <data> │ var │ char[] │Массив данных. Длина массива │ Да │
│ │ │ │ определяется по полю │ │
│ │ │ │ <data_size> пакета NPL │ │
└────────┴───────┴────────┴─────────────────────────────┴─────────────────┘
- Гражданский кодекс (ГК РФ)
- Жилищный кодекс (ЖК РФ)
- Налоговый кодекс (НК РФ)
- Трудовой кодекс (ТК РФ)
- Уголовный кодекс (УК РФ)
- Бюджетный кодекс (БК РФ)
- Арбитражный процессуальный кодекс
- Конституция РФ
- Земельный кодекс (ЗК РФ)
- Лесной кодекс (ЛК РФ)
- Семейный кодекс (СК РФ)
- Уголовно-исполнительный кодекс
- Уголовно-процессуальный кодекс
- Производственный календарь на 2025 год
- МРОТ 2024
- ФЗ «О банкротстве»
- О защите прав потребителей (ЗОЗПП)
- Об исполнительном производстве
- О персональных данных
- О налогах на имущество физических лиц
- О средствах массовой информации
- Производственный календарь на 2024 год
- Федеральный закон "О полиции" N 3-ФЗ
- Расходы организации ПБУ 10/99
- Минимальный размер оплаты труда (МРОТ)
- Календарь бухгалтера на 2024 год
- Частичная мобилизация: обзор новостей