P2P服务器与客户端的架构设计

29 views
Skip to first unread message

wing

unread,
May 27, 2009, 4:08:20 AM5/27/09
to dev4s...@googlegroups.com
各位兄弟,有谁做过P2P的服务器与客户端架构设计,如果有经验的,请描述一下p2p的大体架构情况,
或者介绍一些站点、文档,最近需要做一些类似的可行性研究,希望得到大家的帮助,非常感谢!

哪位做过,说一声,可以私下请教。^_^

btw:刚才发错地方了,真不好意思,发到网元哪个list去。
--
wing
wing9...@gmail.com
Hope is a good thing, maybe the best of things.

qiaojie

unread,
May 27, 2009, 4:09:45 AM5/27/09
to dev4s...@googlegroups.com
P2P有很多应用方向的,你应用方向不明确,怎么做架构设计?


2009/5/27 wing <wing9...@gmail.com>:

Wind Sun

unread,
May 27, 2009, 4:14:33 AM5/27/09
to dev4s...@googlegroups.com
是,是IM方向的,还是多媒体留传输的呢?

2009/5/27 qiaojie <qia...@gmail.com>
Message has been deleted

wing

unread,
May 27, 2009, 4:18:53 AM5/27/09
to dev4s...@googlegroups.com
不好意思,没描述清楚,一个方向是文件的共享,这个比较常见,类似emule、哇嘎嘎;
另一个方向用在IM上,目前只是做可行性研究,所以最终方向没确定,可以二者都说说,
包括用来流媒体播放的方向,比较一下不同,和大概架构,如果邮件描述不清楚哦,
可以私聊,非常感谢。

2009/5/27 Wind Sun <cde...@gmail.com>:

benegg

unread,
May 27, 2009, 4:21:51 AM5/27/09
to 高性能网络编程邮件列表
我自己也尝试做过IM, 发现, IM用到的各种技术比较多, P2P主要用在视频语音聊天, 文件传输方面. 像网游客户端更新, PPLive,
BT这样的应用, 会更P2P. 学习P2P, 研究BT比研究IM好一些.

On May 27, 4:18 pm, songlin luo <songlin...@gmail.com> wrote:
> 我正计划做im,但p2p在im上主要处理什么呢?

wing

unread,
May 27, 2009, 4:22:13 AM5/27/09
to dev4s...@googlegroups.com
这个我也很好奇,我目前第一个方向是共享文件,就是类似emule、迅雷模式,当然我们不是做通用的,只是结合我们自己的业务使用类似技术而已。

二是以后可能做流媒体播放,因此想了解一下大体架构情况,使用的协议,对原有业务的影响之类,另外搜索是怎么实现,诸如此类吧,更多是关心
服务端的实现技术,以及对现有业务的服务器需要那些改造?我们业务服务器部署在web服务器上,不过提供给客户端使用。

2009/5/27 songlin luo <songl...@gmail.com>:
> 我正计划做im,但p2p在im上主要处理什么呢?

qiaojie

unread,
May 27, 2009, 4:25:50 AM5/27/09
to dev4s...@googlegroups.com
这个文件共享....开源的产品一堆啊,先找几个来学习一下,再结合你的业务需求总结一下有什么问题,然后再提出来看看有什么更好的改进方案。

2009/5/27 wing <wing9...@gmail.com>:

Wang Danqi

unread,
May 27, 2009, 4:50:24 AM5/27/09
to 高性能网络编程邮件列表
搜索的方法主要有三种: tracker, 来源交换和DHT,这些方法其实BT,EMULE都在混合着用。

On May 27, 4:22 pm, wing <wing922w...@gmail.com> wrote:
> 这个我也很好奇,我目前第一个方向是共享文件,就是类似emule、迅雷模式,当然我们不是做通用的,只是结合我们自己的业务使用类似技术而已。
>
> 二是以后可能做流媒体播放,因此想了解一下大体架构情况,使用的协议,对原有业务的影响之类,另外搜索是怎么实现,诸如此类吧,更多是关心
> 服务端的实现技术,以及对现有业务的服务器需要那些改造?我们业务服务器部署在web服务器上,不过提供给客户端使用。
>

> 2009/5/27 songlin luo <songlin...@gmail.com>:
>
> > 我正计划做im,但p2p在im上主要处理什么呢?
>
> --
> wing
> wing922w...@gmail.com

Message has been deleted

esx

unread,
May 27, 2009, 6:17:59 AM5/27/09
to 高性能网络编程邮件列表
简言之,主从结构,peer和server通信找peer,之后peer间传数据。peer和server传状态。
这样实现最简单,一般来说效果也不错。

我越发的怀疑楼主是在做互联网了。;)


On 5月27日, 下午4时08分, wing <wing922w...@gmail.com> wrote:
> 各位兄弟,有谁做过P2P的服务器与客户端架构设计,如果有经验的,请描述一下p2p的大体架构情况,
> 或者介绍一些站点、文档,最近需要做一些类似的可行性研究,希望得到大家的帮助,非常感谢!
>
> 哪位做过,说一声,可以私下请教。^_^
>
> btw:刚才发错地方了,真不好意思,发到网元哪个list去。
> --
> wing

> wing922w...@gmail.com

xu zhang

unread,
May 27, 2009, 6:25:11 AM5/27/09
to dev4s...@googlegroups.com
BT,EMULE,传输都使用了tcp,对NAT的穿越支持的不够强。 针对现在国内的用户的网络情况,因该选用UDP,结合TCP来实现会更好。
每个客户端都应该有一个唯一的PeerID,客户端要定期向服务器汇报自己的网络参数,和所保持的资源。
服务器有多台,每台服务器接收一段PeerID, 根据PeerID算出客户端向某台服务器汇报。

wing

unread,
May 27, 2009, 6:33:57 AM5/27/09
to dev4s...@googlegroups.com
唉,是互联网,但是我们现在做的太杂了,其实做技术要专一,才能深入,但是领导一会想想这个,一会想想那个,
我怎么可能有时间这里挖挖,那里钻钻,只好到这里求助,给个大概的东西应付一下就是,其他时间专心做自己的
事情。

真要做,就去招专业做这些的人来做,随便看几篇文档,哪搞得动,所以咨询一些原理为主,做可行性分析,真要
做了,我们会去招收专业人才,公司资源还是比较丰富的,多谢兄弟们的解答,对服务器的架构能不能说的细一些,
多台服务器情况下,相互之间如何通讯,是否需要后台数据库之类的数据机制,因为这方面是小白,工作非常忙,
没时间看无数的资料,问题比较初级,多包涵,回答太累的话可以发一些文档和链接我去看,多谢多谢。

2009/5/27 esx <nay...@gmail.com>:

--
wing
wing9...@gmail.com

Message has been deleted

wing

unread,
May 27, 2009, 7:30:32 AM5/27/09
to dev4s...@googlegroups.com
有没有开源的这种服务是实现代码?另外,需要使用数据库吗,多台服务器之间需要相互通讯吗,如果要,如何通讯?

2009/5/27 xu zhang <xtvj...@gmail.com>:


> BT,EMULE,传输都使用了tcp,对NAT的穿越支持的不够强。 针对现在国内的用户的网络情况,因该选用UDP,结合TCP来实现会更好。
> 每个客户端都应该有一个唯一的PeerID,客户端要定期向服务器汇报自己的网络参数,和所保持的资源。
> 服务器有多台,每台服务器接收一段PeerID, 根据PeerID算出客户端向某台服务器汇报。
>
> >
>

--

wing

unread,
May 27, 2009, 11:26:01 AM5/27/09
to dev4s...@googlegroups.com
还是抽时间去看了emule的部分源码和相关文章,大概明白了原理,有who知道迅雷和bitcomet和emule比,有什么特点(除了以前都有的http、ftp下载等)?还有哪个什么哇嘎嘎,似乎就是emule的翻版,who用过知道有什么特别?

2009/5/27 wing <wing9...@gmail.com>:

xu zhang

unread,
May 30, 2009, 2:31:20 AM5/30/09
to dev4s...@googlegroups.com
多台服务器一般都在一个局域网里,直接用TCP的长连接同步数据就可以了。
迅雷用了可靠的udp传输,这样可以实现在NAT后面的一些PEER互通,而且用服务器帮助找有相同资源的PEER,所以要比BT,emule快些。


2009/5/27 wing <wing9...@gmail.com>:

贵子

unread,
May 31, 2009, 6:32:38 AM5/31/09
to dev4s...@googlegroups.com
我做p2p流媒体传输3年多了,有问题可以和我一起探讨一下
我的msn:xgz...@163.com
时间最好晚上
白天上班不接“客”,哈哈

2009/5/30 xu zhang <xtvj...@gmail.com>



--
一把锋利的宝剑,要经过无数次的磨炼,才从愚钝走向飘逸

杨光

unread,
Jun 18, 2009, 2:30:07 AM6/18/09
to dev4s...@googlegroups.com
个人感觉协议用UDP更好。BT和ED听说网关出来的机器要找其他直连的机器做代理传输数据。哈哈,没看到谁给楼主发点资料。楼主自己找到资料也放出来赛。

2009/5/31 贵子 <xgz...@gmail.com>

wing

unread,
Jun 18, 2009, 2:32:38 AM6/18/09
to dev4s...@googlegroups.com
只是了解了解,多谢各位兄弟指点,因为工作重点不在这里,所以后期没有跟进,一些粗浅的入门问题,打扰大家了,非常不好意思。

2009/6/18 杨光 <yanggu...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages