java之如何像种子一样通过全局互联网发送数据

shangdawei 阅读:24 2024-09-03 21:39:00 评论:0

我正在开发一个移动应用程序,我想通过全局互联网将数据发送到没有服务器的其他设备。
假设有 2 个移动设备的 IP 地址为 X 在全局互联网上。他们都知道彼此的地址,并希望在没有远程服务器的情况下相互通信。他们决定使用端口 A1 为了那个原因。如 X 将数据发送到 在端口 A1 它会在没有 ISP 阻止的情况下交付吗?
我对网络不太熟悉,只知道一些基础知识。理论上,只要 IP 的端口是开放的并且它们通过某些网络连接,它就应该可以毫无问题地传送它。我问这个的原因是我对种子如何在没有服务器和静态 IP 的情况下在全局互联网上相互发送数据感兴趣,我也不确定 ISP 是否可以放置任何标准块,例如,每个ISP 只允许来自 A1-A100 的端口。我知道大多数规则可能取决于 ISP,但对于这个例子,让我们考虑一些典型的普通 ISP。任何解释将不胜感激。

请您参考如下方法:

它叫打洞 , 可用于 TCPUDP .这个概念实际上非常简单:

  • 客户端在中间服务器之间提供他们的套接字信息
  • 服务器更新套接字信息(如果客户端和服务器之间存在 NAT 或代理)
  • 服务器将套接字信息共享给目标客户端
  • 客户端通过对等连接通过其他套接字信息相互连接

  • 其中许多已经在 Github .核实。


    标签:java
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    关注我们

    一个IT知识分享的公众号