48.4. 消息数据类型
本节描述消息里用到的基本数据类型。
Int_n_
(_i_
)
一个网络字节顺序的_n_
位整数。 如果声明了_i_
,它就是将出现的确切值,否则这个数值就是一个变量。 比如 Int16 ,Int32(42)。
Int_n_
[_k_
]
一个_k_
个_n_
位整数元素的数组,每个都是以网络字节顺序存储的。 数组长度_k_
总是由消息前面的字段来判断的。比如 Int16[M]
String(_s_
)
一个(C 风格的)空结尾的字符串。对字符串没有特别的长度限制。 如果声明了_s_
,那么它是将出现的确切的数值,否则这个数值就是一个变量。 比如 String, String("user")。
Note: 后端返回的字符串的可能长度没有预定义的限制。 所以前端必须使用良好的编码策略,使用某种可扩展的缓冲区以便能接受任何能放进内存里的东西。 如果那样做不可行,则读取全长的字符串然后抛弃不能放进你的定长缓冲区的尾部字符。
Byte_n_
(_c_
)
精确的_n_
字节。 如果字段宽度_n_
不是一个常量,那么总是可以从消息中更早的字段中判断它。 如果声明了_c_
那么它是确切数值。例如 Byte2, Byte1('\n')