求解一个问题,谁推荐一个好用得UDP库,我们要做p2p:)

92 views
Skip to first unread message

疯子阿虹

unread,
May 8, 2006, 1:02:45 AM5/8/06
to 高性能网络编程邮件列表
求解一个问题,谁推荐一个好用得UDP库,我们要做p2p:)
要求可靠的:)

谁有开源的p2p软件代码,好的也请推荐:)

要做一个p2p传输文件的软件。
类似bt:)

清风雨

unread,
May 8, 2006, 1:16:19 AM5/8/06
to 高性能网络编程邮件列表
TNL ( torque network library )
www.opentnl.org
不过,我确实没有发现这个UDP实现的TCP相对TCP有什么特别的优势和好处。(^_^)

疯子阿虹

unread,
May 8, 2006, 2:45:00 AM5/8/06
to 高性能网络编程邮件列表
除了TNL还有别的推荐吗?:)
我以前的一个项目使用的就是tnl,感觉这个库有点复杂:)

使用udp当然是有道理的,因为是p2p,很多时候tcp是不能穿越nat的:)
而udp只要打个洞就可以了:)
赫赫~

清风雨

unread,
May 8, 2006, 3:19:43 AM5/8/06
to 高性能网络编程邮件列表
我公司当时用的时候,做了NAT映射。这个和TCP或者UDP没关系吧?
简单的使用TNL可以使用他的NetEvent模式,没必要使用ghost那套。

ACE,应该也有UDP支持吧?这个我就一点也不了解了。

疯子阿虹

unread,
May 8, 2006, 3:42:52 AM5/8/06
to 高性能网络编程邮件列表
TNL好像没有丢包重发的说~~:(

清风雨

unread,
May 8, 2006, 4:02:22 AM5/8/06
to 高性能网络编程邮件列表
错了,有。
我以前用的部分就是用的他实现的TCP,即确保不丢包,保证数据包间的顺序。

说实话,我个人不推荐使用TNL(感觉CPU占用大,还容易导致内存碎片),真正的包数据量减少,就算它每个包比TCP减少20byte(而且它要实现TCP那套,估计实际能省几个字节也就不错了)的包头,实际上,被糟糕的使用,这20个byte压根就白省了,而且,没有router的TTL支持,实际internate上数据的重传导致的流量,未必能减少。

个人到觉得用TCP做的好,肯定比用TNL好(虽然,理论上UDP模拟TCP可以做的更好,因为它针对的范围更小,实际上,还要实现TCP的超时机制、活动窗口机制等,也就一TCP没多大了,我知道的TNL的超时机制那可就没有TCP做的好了)。

当然,只是我个人对TNL的看法。

zhuam

unread,
May 9, 2006, 4:18:00 AM5/9/06
to 高性能网络编程邮件列表
推荐你用 sf 上的 UDT , 那是一个很不错的东西,
我们有用它来作文件传输。 很不错

疯子阿虹

unread,
May 9, 2006, 10:54:13 PM5/9/06
to 高性能网络编程邮件列表
UDT是可靠的吗?

清风雨

unread,
May 9, 2006, 11:48:55 PM5/9/06
to 高性能网络编程邮件列表
sourceforge ?
好的,我去了解了解。
不过,我倒对UDP没有什么需求,比较习惯TCP。

kalos

unread,
May 10, 2006, 12:15:19 AM5/10/06
to dev4s...@googlegroups.com
UDT 是什么?

-----邮件原件-----
发件人: dev4s...@googlegroups.com [mailto:dev4s...@googlegroups.com] 代
表 疯子阿虹
发送时间: 2006年5月10日 10:54
收件人: 高性能网络编程邮件列表
主题: Re: 求解一个问题,谁推荐一个好用得UDP库,我们要做p2p:)

UDT是可靠的吗?


SevenCat

unread,
May 12, 2006, 4:28:22 AM5/12/06
to 高性能网络编程邮件列表
P2P的底层最好还是自己写,我没发现好的能很容易用到P2P上的UDP库。rak也不行。

dogrid

unread,
May 18, 2006, 11:23:34 AM5/18/06
to 高性能网络编程邮件列表
UDT: UDP-based Data Transfer Protocol,
其主页地址为:http://http://udt.sourceforge.net/.
这是一个开源项目,能获取源码。
根据作者的介绍,UDT比较适合在高带宽,低延迟的网络环境下试用。
我试用了他的源码例子,在局域网中传输一个文件,效果还可以,缺点是要好用比较大的CPU和内存。我在两台机器上传输一个mp3文件(大概5M左右),耗用了30%CPU,和40M内存,大的有点吓人。

另外我也在带宽比较差的环境下测试了一下,效果很不理想,目前还在继续测试中。


kalos 写道:

arm...@gmail.com

unread,
May 19, 2006, 6:24:54 AM5/19/06
to 高性能网络编程邮件列表
这个问题应该很多人研究过了.
为什么用UPD所占的内存的CPU较大?是因为比起TCP包来说overhead太大而且太多了?

dogrid

unread,
May 20, 2006, 9:54:28 PM5/20/06
to 高性能网络编程邮件列表
问题是UDT消耗这么大的资源,在实际应用中就发挥不了多大作用了。要尽可能对程序做优化

SevenCat

unread,
May 21, 2006, 3:07:20 AM5/21/06
to 高性能网络编程邮件列表
udt没太大应用价值,以前我稍微瞅过一些原码。

chaoli...@gmail.com

unread,
Jun 6, 2006, 1:36:01 AM6/6/06
to 高性能网络编程邮件列表
还有eNet,RakNet,都是基于UDP的可信连接协议

胖的没救了

unread,
Jun 6, 2006, 1:53:42 AM6/6/06
to dev4s...@googlegroups.com

大家好啊

不好意思啊 我是研究java编程的

大家讨论的东西我完全不明白

只好离开了

如何退出啊???

(我上不了网 我是通过email和这个组联系的)
有没有什么办法通过email推组啊
--
胖的没救了 <fa...@163.com>


Qinglan

unread,
Jun 6, 2006, 1:55:55 AM6/6/06
to dev4s...@googlegroups.com
You can also unsubscribe from a group via email. To do so, send an
email to GroupName-...@googlegroups.com. For example, if you
wanted to leave google-friends, you'd send an email to
google-friend...@googlegroups.com

2006/6/6, 胖的没救了 <fa...@163.com>:


--
HelloQinglan

Xi Jiang Li

unread,
Jun 6, 2006, 2:10:44 AM6/6/06
to dev4s...@googlegroups.com
On 06/06/06 at 13:53, 胖的没救了 wrote:

> 大家好啊
>
> 不好意思啊 我是研究java编程的
>
> 大家讨论的东西我完全不明白
>
> 只好离开了
>
> 如何退出啊???
>
> (我上不了网 我是通过email和这个组联系的)
> 有没有什么办法通过email推组啊

发邮件给 dev4server-...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages