在TCP的socket编程中,应该怎么对数据包进行传输?例如: 这个是整个IP包的定义。
#pragma pack(1)//设定为4字节对齐
//定义数据包包头,所有的数据包均包含此包头.
struct PACKAGE
{
//包头标志
UINT nBeginFlag; //包头头标志
long lPackageID; //包标识ID。(每个包的ID必须不同,不过进程重新启动后,ID可以重新开始)
UINT nPackageLen; //包的总长度
UINT nBuffLen; //包缓存区长度(byteBuff 区的大小)
char chSocketID[SOCKET_ID_LENTH];//套接的ID号。
//包尾标志
UINT nEndFlag; //包头尾标志
UINT nSessionID;//会话ID
BYTE byteBuff[INITBUFFLENTH];//数据包缓冲区
}; 其中 byteBuff 是存放业务消息的。业务消息形式如下:1|2|pio|2||223|38258421|2|6|123456,这个也是包体的内容.
我在处理包是该怎么办才好,以前没有接触过这样的东西,望大家指教,能给点提示,先谢谢了~~
#pragma pack(1)//设定为4字节对齐
//定义数据包包头,所有的数据包均包含此包头.
struct PACKAGE
{
//包头标志
UINT nBeginFlag; //包头头标志
long lPackageID; //包标识ID。(每个包的ID必须不同,不过进程重新启动后,ID可以重新开始)
UINT nPackageLen; //包的总长度
UINT nBuffLen; //包缓存区长度(byteBuff 区的大小)
char chSocketID[SOCKET_ID_LENTH];//套接的ID号。
//包尾标志
UINT nEndFlag; //包头尾标志
UINT nSessionID;//会话ID
BYTE byteBuff[INITBUFFLENTH];//数据包缓冲区
}; 其中 byteBuff 是存放业务消息的。业务消息形式如下:1|2|pio|2||223|38258421|2|6|123456,这个也是包体的内容.
我在处理包是该怎么办才好,以前没有接触过这样的东西,望大家指教,能给点提示,先谢谢了~~
当然,如果你要自己实现底层,那就要去查协议的定义了