初学网络编程,关于数据打包时数据类型处理的问题,请教大家。
网络连接方式;UDP广播
UDP包数据结构:
typedef struct tagPacket{
WORD wReserved1; //保留字1
WORD wReserved2; //保留字2
WORD wLen; //数据区长度
WORD wType; //数据包类型 0X0001 表示A种量 0x0010 表示B种量
BYTE byData[504]; //数据区
}SXPacket;
其中数据区存放的是A种类型的量和B种类型的量.
其中A种量的结构是这样的:
typedef struct tagAData{
WORD wGID; //ID号
WORD wReser;//保留字
double dValue;//实时值
}AData;
我的问题是:现在有一批A类型的数据p_Adata[sz]等待广播出去
我怎样把这些数据放到byData里面呢?
我用了CopyMemory(sxPacket.byData,p_Adata,sz*(2+2+8))函数,可是接受的时候好像不正常。
请教各位,这里面的double用不用转化?应该怎样做比较规范呢?
谢谢
问题点数:0、回复次数:2Top
1 楼solarsoft(黑鹰)回复于 2003-12-01 22:00:04 得分 0
char* p指向SXPacket实例,在p=p+sizeof(WORD)*4;这样就可以操作p了Top
2 楼solarsoft(黑鹰)回复于 2003-12-01 22:00:58 得分 0
char* p指向SXPacket实例,在p=p+sizeof(WORD)*4;这样就可以操作p了Top




