P2P服务器要处理的逻辑大概有以下几点:
登录:用户唯一的UDID登录。
匹配:将同时匹配的用户转到连接的过程。
连接:用户间发起的连接过程。
检测:检测用户可否支持打洞。
中转:对不能打洞的用户间数据进行中转。
系统业务层要建立几个缓存池:
用户登录缓存池:login user pool;
业务层的匹配缓存池:scratch pool。
建立连接缓存池:connetion pool;
当用户A点击匹配的时候,服务端收到用户匹配请求,首先查询有无其他用户在进行匹配,如果没有就将A放进匹配池,如果有假设是B,就在AB间建立连接,同时返回AB。
AB得到对方的信息后,依据服务器返回的连接类型进行连接操作。如果是打洞则进告诉打洞逻辑,否则进行中转逻辑。
建立连接后,一端丢线,服务器心跳包时间内侦测到返回给另一端。
看看我们的成果:
http://v.youku.com/v_show/id_XNjQzNTUwMTU2.html

本文深入探讨了P2P服务器的核心逻辑,包括登录、匹配、连接、检测和中转过程,并详细介绍了系统业务层的缓存池设置,如用户登录缓存池、匹配缓存池和连接缓存池。通过实际案例展示了系统如何高效地管理用户间的连接。
947

被折叠的 条评论
为什么被折叠?



