java如何像torrents一样通过全球互联网发送数据?
我正在开发一个移动应用程序,我想在没有服务器的情况下通过全球互联网向其他设备发送数据
假设全球互联网上有两个IP地址分别为X和Y的移动设备。他们都知道对方的地址,希望在没有远程服务器的情况下彼此通信。他们决定使用端口A1来实现这一点。如果X将在端口A1上向Y发送数据,是否会在没有ISP阻止的情况下交付
我不太熟悉网络,只知道一些基础知识。从理论上讲,只要IP的端口是开放的,并且它们通过一些网络连接,它就可以毫无问题地交付。我问这个问题的原因是,我对torrents如何在没有服务器和静态IP的情况下在全球互联网上相互发送数据感兴趣,而且我不确定ISP是否可以放置任何标准块,例如,每个ISP只允许A1-A100端口。我知道大多数规则可能依赖于ISP,但是对于这个例子,让我们考虑一些典型的正常ISP。如有任何解释,将不胜感激
# 1 楼答案
我也不是很擅长网络,torrents与您的浏览器IP配合使用。这里有一篇文章:How to check your torrent IP address 下面是一些源代码的链接。 WebTorrent和 BitTorrent 我希望这能给你一些关于它们如何工作的想法
# 2 楼答案
您的问题:是否可以在全球互联网上的两个非静态IP(如两部手机)之间发送数据,最好使用某些来源
简短回答:是的
长答覆: 实现这一目标有多种选择
现在,在初始过程中需要服务器,在该过程中,两个对等方将交换数据以相互连接
二,。星际文件系统:对等超媒体协议 旨在使网络更快、更安全、更开放。它是一种类似torrent的对等文件传输协议
您可以使用第一个选项WebRTC,因为它很容易在现代基于web的应用程序中使用,而且大多数浏览器现在都支持WebRTC
# 3 楼答案
它被称为冲孔,可用于TCP或UDP。这个概念其实很简单:
其中许多已经在Github中。检查一下