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

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

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

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

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

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

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


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

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

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

建立连接缓存池:connetion pool;

 

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

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

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

看看我们的成果:

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




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值