网络字节序、padding有关问题

网络字节序、padding问题
求教下,
struct s1
{
  type1 data1;
  type2 data2;
  ...
}

socket传整个结构是不是不行啊,有byte order和padding什么的问题

基本类型的byte order由协议保障,但data2 地址一定比data1高吗?有无编译器吧data1排最高呢。
多谢!!

------解决方案--------------------
编译器不会把data1排最高的。
但是如果type1 不是 char, 就要对data1进行byte-order进行调整。
------解决方案--------------------
同意1L
------解决方案--------------------
现在32的操作系统都只是对最基本的数据类型进行对齐,只要保证结构体是四字节对齐的基本没什么问题,最好别有padding,原先有的编译器对非对齐时的变量是向哪个方向靠说不准.
------解决方案--------------------
socket传整个结构是不是不行啊,有byte order和padding什么的问题
-----------
data1都排前面
可以传输,在最开始处加上:#pragma pack(1)