今天周末抽空分享下用CumulusServer实现P2P的原理和过程,同时共享服务器和客户端的完整可编译可执行代码
P2P的实现原理:
最核心的部分有两个:
Client1与Client2如何完成P2P的连接、udp穿越
Client1与Client2P2P的连接:
Client1与Client2不知对方地址,所以要去服务器要对方地址
CumulusServer服务器对每个客户端都有分配一个唯一的peerid,同时,需要修改代码为每个客户端增加一个uid
Uid是web数据库分配的,是web上对于客户端的唯一标示,peerid是服务器分配的,是服务器上对于客户端的唯一标示
这样用uid + peerid即可将 服务器+客户端+web串联起来:
client1的web界面上点击client2发起点对点的私聊,client1可以根据client2的uid向服务器查询client2的peerid
P2P的实现原理:
最核心的部分有两个:
Client1与Client2如何完成P2P的连接、udp穿越
Client1与Client2P2P的连接:
Client1与Client2不知对方地址,所以要去服务器要对方地址
CumulusServer服务器对每个客户端都有分配一个唯一的peerid,同时,需要修改代码为每个客户端增加一个uid
Uid是web数据库分配的,是web上对于客户端的唯一标示,peerid是服务器分配的,是服务器上对于客户端的唯一标示
这样用uid + peerid即可将 服务器+客户端+web串联起来:
client1的web界面上点击client2发起点对点的私聊,client1可以根据client2的uid向服务器查询client2的peerid