UDP 传输,因为包比较大,所以进行了分包,很简单的分包算法.每个分割包的大小是固定的..但最后一个包可能没有达到固定大小..我现在是直接补齐到固定大小发送出去.这样感觉有点浪费..网络流量增加很多.每次都是整个包直接发出去,接收端接收固定大小,然后分析数据,这样就算丢包也无所谓,我做的是视频传输.如果是变长的的话,只能采取包头和包体分开的...根据包头指定的大小,来接收后面的包内容..但又怕如果正好包头丢了,那后面接受的数据就整个乱了...请问大家有没有什么好的方法,来处理这个问题....好郁闷啊..
解决方案 »
- 关于用win32 DialogBased Application编写记事本
- 我想在一个动态链接库中输出一个函数,调用这个函数就创建一个窗口并处理这个窗口的消息循环,能实现吗?怎么实现?
- simple problem :) sos sos
- 在线请教小弟在一个vc初学者,我请教一下vc中有驱动器列表框和目录列表框和文件列表框吗?我为什么找不到
- 如何用ado打开一个用密码保护的ACCESS数据库
- 高分求一本书上的代码!!
- 很急的问题, 关于ADO 如何返回 很多个记录的。(现在我比较穷@_@,暂时给这么多以后在加给)
- 请问如何“动态添加一个按钮到工具栏中去”??????
- 新建立了一个类,不是view,这时我怎么获得或修改文档中的数据呢???
- Com问题之二
- 谁知道让vc的显示界面实现动态变化啊
- 程序特别占内存
实时P2P传输的,发出去就不管了..这个再重发,感觉有点麻烦..to 2楼
这个我测试过..可能是因为是实时传输的吧,用最大长度接收时,会收到下一个包的部分内容.这个我再测试一下,如果是这样的话,会简单很多.to 3楼
如果丢包的话,和前面的数据长度就可能对不上了to 4楼
我规定的是1K,后半句话没明白啥意思..
谢谢大家帮忙..可能是想得太多吧..再想想..
现在的解决方法是,发送方就按实际大小发.
接收方,一直接收固定长度大小的内容,缓存个几秒.
然后处理缓存,找出一个个完整地包..总感觉写的有点麻烦..