java - JXTA 是否支持直接的 P2P 通信,即使两个点都在 NAT 之后?

标签 java network-programming p2p jxta

有两个基于 JXTA 的点,每个点都在自己的 NAT 后面,它们是否可以相互发送直接消息?

可以使用集合点服务器进行初始连接,但需要在没有互联网“网关”的情况下将带有有效负载的真实消息直接从一个对等点发送到另一个对等点。

我认为 Skype 可以做到这一点。我听说过使用 UDP 而不是 TCP 的技巧。但是 JXTA 支持吗?甚至可以使用 Java 吗?

最佳答案

如果两个对等点都有一个公共(public) IP 地址,那么是的,这是可能的。但由于这种情况非常罕见,因此大多数时候这些对等点都需要中继。

JXTA 不支持具有私有(private)地址的 NAT-ed 点之间的直接连接。

当 NAT 可穿越时,使用 Java 可以实现这一点,但它需要针对 TCP 的复杂解决方案。对于UDP,它更简单。

关于java - JXTA 是否支持直接的 P2P 通信,即使两个点都在 NAT 之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299549/

相关文章:

p2p - 如何更新 DHT 中的条目

java - 使用 ApacheHttpClient 处理身份验证相关的中间重定向

java - ClassFormatError:类文件 javax/mail/MessagingException 中非 native 或抽象方法中的缺失代码属性

c - 如何使用自定义端口(非默认)仅使用 telnet 或 FTP 连接服务器和客户端(在 C 语言的套接字编程中)?

java - 如何在网络中断时继续在 websockets 中发送消息?

android - 如何制作多人游戏

java - NetBeans 中与 Maven 的跨项目依赖关系

java - 使用基本身份验证针对另一个应用程序对 Springboot 应用程序进行身份验证

azure - 如何检测 Azure 角色中节点之间的时钟偏差?

sockets - 在 WebRTC 的上下文中,一般如何建立对等 (P2P) 套接字连接?