14得票2回答
可靠的网络连接的实用NAT穿透

我看过很多类似的问题和对应的维基百科文章(NAT遍历, STUN, TURN, TCP穿透),但是这些海量的信息并没有真正帮助我解决我的非常简单的问题: 我正在编写一个 P2P 应用程序,并且我希望在 NAT 后面使用我的应用程序的两个用户能够相互连接。连接必须是可靠的(与 TCP 的可靠性...

13得票3回答
UDP、NAT及建立“连接”的设置

我知道在谈论UDP时,使用“连接”这个词并不太合适,但是... 服务器(已知IP地址的服务器)如何通过互联网将其UDP数据包传递到位于NAT后面的客户端? 例如:假设客户端通过TCP连接和身份验证连接到服务器。此时,服务器准备开始通过UDP向客户端流式传输数据,但是,服务器如何知道在哪里寻...

12得票3回答
我想要构建一个分散的、类似于Reddit的系统,使用P2P技术。我应该基于哪个现有的P2P库来构建它?

我希望构建一个使用P2P的去中心化Reddit系统。基本上,我想保留Reddit的基本功能,但将其去中心化,使其更加强大且免于审查。这也将使人们可以开发不同的客户端来适应他们想要浏览的方式。 你能推荐一些好的P2P库来作为我的工作基础吗?它们应该是开源的、跨平台的、强大且易于使用。对语言我不...

12得票2回答
NAT后面到NAT后面的连接

我遇到了一个有趣的问题。基本上,我有两部都在NAT后面的手机。我想使用UDP直接在这两个设备之间进行通信。 我知道如果我从手机向服务器发起连接,那么我可以将数据推送回该连接以便将数据发送回相同的端口和IP地址(即从收到消息的端口和IP地址发送它)。因此,我可以通过将两部手机连接到服务器来轻松...

9得票1回答
如何编程地在不使用外部主机的情况下找到设备的外部IP地址?

当我读取设备的IP地址时,总是得到本地IP地址。 我使用以下代码片段来实现。 public String getIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInte...

9得票2回答
客户端-服务器WebRTC应用程序是否需要使用ICE?

我有一个运行在公共IP地址上的WebRTC MCU(kurento),为一些只发送或只接收音频的客户提供服务。因此,每个客户端都直接连接到具有公共IP地址的MCU(而不是彼此连接)。 问题1:是否仍需要使用STUN和TURN进行NAT遍历?如果需要,为什么? 问题2:浏览器中是否存在任何We...

7得票1回答
NAT穿透理解:P2P概念

因此,我一直在研究NAT-Punchthrough。我似乎有了想法,但我很难实现它,感觉我在这里缺少一步。 测试这个功能有点难,因为我在基于互联网的连接方面的环境控制很少。 我有一个SQL服务器可以作为我的“协调器”,它保留了服务端和客户端的外部地址及其端口。 到目前为止,以下是步骤: -...

7得票2回答
通过路由器,点对点网络是如何工作的?

一台电脑如何通过互联网连接到另一台电脑? 例如,一个程序在PC1上监听连接请求,但PC1位于Router1后面。 PC2有一个客户端程序试图连接到PC1。 在这种情况下,应该使用什么技术或技巧作为监听程序?