因为是做一个简单的P2P应用(麻雀虽小,五脏俱全。我最喜欢做此类应用,开发周期不算长,但能学到用到很多比较新的东西),要涉及到内网NAT穿透,UDP打洞相对比较容易,所以打算用基于UDP。但本应用上传输量较大,要求可靠性较高。想用ACE来做,但不知道ACE是否实现了UDP可靠传输的现成方法(ACE我才刚上路)。下面我收集了几个基于UDP可靠传输的开发包。
RakNet http://www.rakkarsoft.com/
号称最好的UDP网络库开发包,主要是做网络游戏用,实时性较好,跨平台。VC6下不好编译,要安装VC++ 2003,晕,先搁着,是在没选择再装2005然后上这个。
UDT http://udt.sourceforge.net/
UDP-Based Data Transfer Protocol,做为一个应用层的标准协议实现,网上有人做过测试还不错。但这几天SOURCEFORGE打不开,我还是用快照看到主页的一些文字。有几篇相关技术的PAPER,看能否迅雷下回来瞧瞧。
另外还有OpenTNL,但普遍不太推荐。