想请问一下,在filter中,传送的每个sample的大小是一样的吗,我自己写了一个Filter,重写了receive函数,我要在这个函数里面通过UDP发送数据包出去,但是对Sample的大小不能确定,虽然可以调用函数进行判断,但是我想要知道的是是否每次发送的数据长度都是一样的。如果不一样的话,我应该怎么在接受端里面指定缓冲区大小呢?
解决方案 »
- 如何获取世界各地的天气预报信息
- 菜鸟提问,请高手指点!
- 请问如何将指定URL的图片下载到本机的指定目录内呢?
- 急求一些编写FTP代理服务器软件的知识资料!!
- 求图像编辑软件中常用的那种增加文本的控件,就是T或者A那种功能
- 请教一个结构!
- 学vc是学什么?mfc,api,还是???
- 请问如何动态生成一个列表控件?
- 宏伟的计划,软件工作者的心声--注意,本帖子在存在期间会不断加分
- 求问大神们这个MFC应用程序怎么做,完全没有语言基础,明天就得交
- 请教:如何在满足一个变量条件下,调出一个对话框(已经建好类了)
- 向自定义的 CWinthread中PostThreadMessage,线程中消息处理函数没反应,可能是怎么回事?
首先要明白由于udp容易丢包,特别是在internet,
所以应该在传输前自己定义数据结构,放在udp中发送.
结构为:
typedef struct _PacketHeader
{
unsigned char UserID; // user ID区分用户
unsigned char ThisFrameTotalPackets; //此帧包总数
unsigned char ThisPacketNum; //这个包的序号
unsigned char Reserved;
unsigned long ThisUserFrameNum; //此帧在此用户的序号
}PacketHeader;在接受端,需要一个接收缓冲池,对收到的数据进行排队,
由于包并不是按顺序到达的,所以排队是必须的。
然后对完整的帧进行处理,对不完整的帧按照顺序进行丢弃