51.6. Типы данных в сообщениях
В этом разделе описываются базовые типы данных, применяемые в сообщениях.
- 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').