现在的位置: 首页 > 综合 > 正文

P2P之我见,关于打洞的学问——-服务器架构

2014年02月13日 ⁄ 综合 ⁄ 共 398字 ⁄ 字号 评论关闭

P2P服务器要处理的逻辑大概有以下几点:

登录:用户唯一的UDID登录。

匹配:将同时匹配的用户转到连接的过程。

连接:用户间发起的连接过程。

检测:检测用户可否支持打洞。

中转:对不能打洞的用户间数据进行中转。

系统业务层要建立几个缓存池:

用户登录缓存池:login user pool;

业务层的匹配缓存池:scratch pool。

建立连接缓存池:connetion pool;

 

当用户A点击匹配的时候,服务端收到用户匹配请求,首先查询有无其他用户在进行匹配,如果没有就将A放进匹配池,如果有假设是B,就在AB间建立连接,同时返回AB。

AB得到对方的信息后,依据服务器返回的连接类型进行连接操作。如果是打洞则进告诉打洞逻辑,否则进行中转逻辑。

建立连接后,一端丢线,服务器心跳包时间内侦测到返回给另一端。

看看我们的成果:

http://v.youku.com/v_show/id_XNjQzNTUwMTU2.html

抱歉!评论已关闭.