本节介绍消息中使用的基本数据类型。
n(i)一个 n 位整数,采用网络字节序(最高有效字节在前)。如果指定了 i,则表示其确切值;否则,该值是可变的。例如:Int16, Int32(42)。
n[k]k 个 n 位整数的数组,每个整数都采用网络字节序。数组长度 k 始终由消息中的先前字段确定。例如:Int16[M]。
s)一个以 null 结尾的字符串(C 风格字符串)。字符串没有特定的长度限制。如果指定了 s,则表示其确切值;否则,该值是可变的。例如:String, String("user")。
对后端返回的字符串长度没有预定义限制。前端的良好编码策略是使用可扩展的缓冲区,以便接受内存中能容纳的任何内容。如果不可行,请读取整个字符串并丢弃不适合固定大小缓冲区的尾部字符。
n(c)正好 n 个字节。如果字段宽度 n 不是常量,则始终可以从消息中的先前字段确定。如果指定了 c,则表示其确切值。例如:Byte2, Byte1('\n')。