解决方案 »
- strmbase.lib(wxutil.obj):error LNK2001:unresolved external symbol _aulldvrm
- 关于移植控件到Firefox的问题
- 在主窗体用动态链接库时的错误
- 如何用CListCtrl做成类似Excel样式的表格?
- 如何通过给编程往richedit控件中加入数据
- 每按一次键或菜单就循环一次,我在MFC的单文档界面下该怎样实现呢
- 初学的疑惑!入门书的选择
- 在我的机器中用debug命令
- 请教各位高手 在多文档mfc中 怎么把二值化后的数组写入为bmp图像,并且保存呢,主要是怎么进行数组参数的专递啊?
- 内存DC可以放在共享数据段中共享吗?
- 求类似于QQ宠物 ,瑞星小狮子怎么做的。
- Listctrl控件改动一个效果
放在一个缓冲里
这个缓冲逻辑上是循环的[code = 示意]
比方你给每个包的序号是 1 2 3 4 5 6 7
你就开辟一片缓冲[1 2 3 4 5 6 7]
[/code]
现在接收端接收到 5 ,那么它会认为 6 7 1 才可能晚于5发的包 ,如果接到 2 3 4 ,比方 4 ,认为是之前(早于5)发的包,仅仅存入缓冲 4
如果接到 7 ,会认为是晚于5发的包 ,存入缓冲 7 后 将pNow 移动到7 (因为向前移动了两格 ,所以 返回 缓冲里 2 3 两格数据)如此 只要你缓冲区大于一定的长度, 收到的数据经过这个缓冲机制 返回的这些值就是 纠正了顺序的数据了(而掉包的就未填充)
参考:http://blogold.chinaunix.net/u1/58901/showart_2099013.html,上面有很详细的介绍。
如何你要自己实现一个丢包重发的机制那效率应该没有TCP高吧
谢谢,以前学习TCP/IP的时候看过,不过没太深入,我会再好好去看看!