5. Установка соединения с сервером
Соединение с сервером может быть защищенным или незащищенным. Параметры соединения задаются инициатором соединения в поле
- NPH_SGC_CONN_REQUEST;
- NPH_SGC_CONN_AUTH_STRING.
В случае отказа в установке соединения (на любом этапе) сервер посылает клиенту незашифрованный пакет NPH_RESULT с кодом ошибки.
Пакет запроса установки соединения NPH_SGC_CONN_REQUEST имеет следующий формат поля :
Поле
|
Длина
|
Тип
|
Описание
|
Может ли данное поле (значение) изменяться
|
<proto_version_high>
|
2
|
unsigned int 16
|
Версия протокола NDTP (старший номер)
|
Нет. В поле всегда должно быть установлено значение 1
|
<proto_version_low>
|
2
|
unsigned int 16
|
Версия протокола NDTP (младший номер)
|
Да
|
<connection_flags>
|
2
|
unsigned int 16
|
Опции соединения, определяет настройки соединения, которые будут использоваться после установки соединения.
(бит2: рассчитывать CRC пакетов (0 - нет, 1 - да)
|
Нет. Все значения битов кроме второго должны быть установлены в 0. Значение второго бита должно быть установлено в 1
|
<peer_address>
|
4
|
unsigned int32
|
Адрес участника соединения, пославшего пакет
|
Да
|
<max_packet_size>
|
4
|
unsigned int32
|
Максимальный размер пакета, который сможет обработать данный участник соединения
|
Нет. Все значения битов должны быть установлены в 0
|
Так как сервер не устанавливает соединения, то пакет запроса соединения посылают только клиенты (СТС).
Поля
Пакет с массивом данных для аутентификации клиента NPH_SGC_CONN_AUTH_STRING имеет следующий формат поля :
Поле
|
Длина
|
Тип
|
Описание
|
Может ли данное поле (значение) изменяться
|
<data>
|
var
|
char[]
|
Массив данных. Длина массива определяется по полю пакета NPL
|
Да
|