有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何像torrents一样通过全球互联网发送数据?

我正在开发一个移动应用程序,我想在没有服务器的情况下通过全球互联网向其他设备发送数据

假设全球互联网上有两个IP地址分别为XY的移动设备。他们都知道对方的地址,希望在没有远程服务器的情况下彼此通信。他们决定使用端口A1来实现这一点。如果X将在端口A1上向Y发送数据,是否会在没有ISP阻止的情况下交付

我不太熟悉网络,只知道一些基础知识。从理论上讲,只要IP的端口是开放的,并且它们通过一些网络连接,它就可以毫无问题地交付。我问这个问题的原因是,我对torrents如何在没有服务器和静态IP的情况下在全球互联网上相互发送数据感兴趣,而且我不确定ISP是否可以放置任何标准块,例如,每个ISP只允许A1-A100端口。我知道大多数规则可能依赖于ISP,但是对于这个例子,让我们考虑一些典型的正常ISP。如有任何解释,将不胜感激


共 (3) 个答案

  1. # 2 楼答案

    您的问题:是否可以在全球互联网上的两个非静态IP(如两部手机)之间发送数据,最好使用某些来源

    简短回答:是的

    长答覆: 实现这一目标有多种选择

    1. WebRTC(Web实时通信)是一种技术,它使Web应用程序和站点能够捕获音频和/或视频媒体并可选地流式传输,以及在浏览器之间交换任意数据,而无需中介

    现在,在初始过程中需要服务器,在该过程中,两个对等方将交换数据以相互连接

    二,。星际文件系统:对等超媒体协议 旨在使网络更快、更安全、更开放。它是一种类似torrent的对等文件传输协议

    您可以使用第一个选项WebRTC,因为它很容易在现代基于web的应用程序中使用,而且大多数浏览器现在都支持WebRTC

  2. # 3 楼答案

    它被称为冲孔,可用于TCPUDP。这个概念其实很简单:

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

    其中许多已经在Github中。检查一下