3

我有兴趣开发一个点对点网络,该网络使用 UDP 隧道绕过 NAT,以实现类似于多人游戏的低延迟通信。将有中央服务器可用于身份验证和识别外部 IP 地址。是否有带有 LGPL 或 BSD(等)许可证的开源库?如果可能的话,我想避免重新发明轮子。

4

2 回答 2

3

以下开源库都是 ICE 的变种或直接实现,用于 UDP 的 P2P NAT 穿越场景。

PJNATH

图书馆

libjingle

我一直在使用 pjnath,发现它非常好、强大,并且拥有最广泛的平台支持。

在此处查看我关于 UDP NAT 传输和 P2P 的基础知识的经典答案。

于 2013-04-20T21:56:37.797 回答
0

你应该看看 zeroMQ,它是一个简单的库,它封装了 TCP/UDP 网络以创建分布式协议。每种语言都有绑定。

对于 P2P,您可以使用以下模式:

  • PGM/EPGM 用于发现 LAN 上的 P2P 成员(它使用多播)
  • REQ/REP 向一位成员提问
  • PULL/PUSH 用于在网络上复制一个资源
  • 发布/订阅以将文件传输给所有请求者
于 2013-04-02T23:46:17.260 回答