Типы данных сообщений

В этом разделе описываются базовые типы данных, используемые в сообщениях.

Intn(i)

n-битовое целое число с сетевым порядком байтов (первым идет наиболее значащий байт). Если указано i, здесь будет фигурировать именно указанное значение, в противном случае значение переменное. Например: Int16, Int32(42).

Intn[k]

Массив из k n-битовых целых чисел, все с сетевым порядком байтов. Длина массива k всегда определяется из предыдущего поля сообщения. Например: Int16[M].

String(s)

Строка с завершающим нулем (строка в стиле C). Ограничение на длину строк отсутствует. Если указано s, здесь будет фигурировать именно указанное значение, в противном случае значение переменное. Например: String, String("user").

Примечание
Нет никакого предопределенного ограничения длины строки, которую может возвратить сервер. При кодировании клиента рекомендуется использовать расширяемый буфер, чтобы он мог принять все, что умещается в памяти. Если это невыполнимо, прочитайте строку целиком и отбросьте завершающие символы, которые помещаются в ваш буфер фиксированного размера.

Byten(c)

Ровно n байт. Если ширина поля n не является константой, она всегда определяется из предыдущего поля сообщения. Если указано c, оно задает точное значение. Например: Byte2, Byte1('\n').