由于主机和网络的字节序不同,所以发送和接受数据的时候要尤其注意字节序,下面以x86为例说明注意事项:
如果要发送4字节的整数a,则需要把a的4个字节写入buffer中,写入的顺序应该是将a的低字节写入buffer的低地址处,这样,在接受的时候,直接接受4个字节就是正确的整数。
否则接受的时候需要进行字节序转换。
发送字节序列时,不能使用string(C++)存储,并发送string。因为在将string转化为字节序列(c_str())时,由于某些特殊字节值,可能会出错,可能会在中间截断字节序列。