呵呵,和其他的一样阿
没有什么两样比如我最近做的一个小东西
定义如下,参考了rtp协议.///////////视频数据切片格式
typedef struct _video_frag{
int ssrc; //发送方标志
short compressed ;//压缩方式0为没有压缩
short type; //数据类型
int time; //同步时间
short seq; //切片序号
short flag; //切片标记0第一片1中间段2最后一片
int ID; //帧序号
int len; //有效载荷长度
BYTE pData[VIDEO_FRAG_SIZE];
}VIDEO_FRAG;
///////////音频数据切片格式
typedef struct _audio_frag{
int ssrc; //发送方标志
short compressed ;//压缩方式
short type; //数据类型
int time; //同步时间
short seq; //切片序号
short flag; //切片标记0第一片1中间段2最后一片
int ID; //帧序号
int len; //有效载荷长度
BYTE pData[AUDIO_FRAG_SIZE];
}AUDIO_FRAG;
没有什么两样比如我最近做的一个小东西
定义如下,参考了rtp协议.///////////视频数据切片格式
typedef struct _video_frag{
int ssrc; //发送方标志
short compressed ;//压缩方式0为没有压缩
short type; //数据类型
int time; //同步时间
short seq; //切片序号
short flag; //切片标记0第一片1中间段2最后一片
int ID; //帧序号
int len; //有效载荷长度
BYTE pData[VIDEO_FRAG_SIZE];
}VIDEO_FRAG;
///////////音频数据切片格式
typedef struct _audio_frag{
int ssrc; //发送方标志
short compressed ;//压缩方式
short type; //数据类型
int time; //同步时间
short seq; //切片序号
short flag; //切片标记0第一片1中间段2最后一片
int ID; //帧序号
int len; //有效载荷长度
BYTE pData[AUDIO_FRAG_SIZE];
}AUDIO_FRAG;
发送端容易理解
接受端按照两个步骤进行.
第一步接受的时候用MSG_PEEK方式查看头部信息
也就是说只读sizeof(yourheaderlen)字节,而且是用拷贝方式
第二步根据读取的头部信息中间的长度字段
读取整个数据包.上面的情况要注意成功一半的可能性.这都是基础问题,自己解决就是.