java - 互联网上的点对点连接

标签 java networking

<分区>

有没有办法在没有服务器的情况下通过互联网建立点对点连接? 这个想法是将文件从一台 PC 发送到另一台 PC。

最佳答案

为了在 Internet 上进行 P2P 联网,您必须处理几个问题。主要是NAT穿越和防火墙。如果不处理这些问题,您的连接将很容易出错。为此,最好使用现有的 P2P 框架。在 Java 中,主要框架之一是 JXSE,它是 JXTA 协议(protocol)的开源实现。该项目现已停止,但有大量文档可用。看,https://jxse.kenai.com .

如果 JXSE 对于您的目的而言过于重量级/复杂,我会使用一个更小/更简单的 P2P 库来实现一些基本形式的 NAT 穿越或防火墙打洞。这可能无法解释所有情况,但它可能适用于手头的特定情况。这些开源实现中有一些可用;用谷歌搜索或查看 GitHub。

关于java - 互联网上的点对点连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18941107/

相关文章:

java - 使用 libGDX 绘制大而平滑的文本

java - 将异常捕获到 Spring Job 中

linux - 如何在 Linux 上测试自定义 TCP 实现?

java - 如何在 JavaFx 8 中将鼠标坐标转换为本地 SubScene

java - Spring :@Component

security - 如何唯一标识一个网络?

linux - 我如何在 Linux 中使用 "interconnect"两个套接字?

networking - 在Windows Vista中以编程方式禁用网络自动调整

linux - 了解 recv 永远阻塞的原因

java - 上传文件excel并用java中的JAX-RS 2.0读取