簡體   English   中英

如何像種子一樣通過全球互聯網發送數據?

[英]How to send data over global internet like torrents do?

我正在開發一個移動應用程序,我想通過全球互聯網將數據發送到其他沒有服務器的設備。

假設在全球互聯網上有 2 個移動設備,其地址為XY ,地址為 IP。 他們都知道彼此的地址,並希望在沒有遠程服務器的情況下相互通信。 他們決定為此使用端口A1 如果X將在端口A1上向Y發送數據,它會在沒有 ISP 阻止的情況下傳送嗎?

我對網絡不是很熟悉,只知道一些基礎知識。 理論上,只要IP的端口是開放的並且它們通過一些網絡連接,它應該沒有問題。 我問這個的原因是我對種子如何在沒有服務器和 static IP 的情況下在全球互聯網上相互發送數據感興趣,我也不確定 ISP 是否可以放置任何標准塊,例如,每個ISP 只允許 A1-A100 的端口。 我知道大多數規則可能取決於 ISP,但對於這個例子,讓我們考慮一些典型的普通 ISP。 任何解釋將不勝感激。

它稱為打孔,可用於TCPUDP 這個概念實際上非常簡單:

  1. 客戶在中間服務器之間提供他們的 sockets 信息
  2. 服務器更新套接字信息(如果客戶端和服務器之間有 NAT 或代理)
  3. 服務器將套接字信息共享給目標客戶端
  4. 客戶端通過對等連接通過其他套接字信息相互連接

其中許多已經在Github中。 核實。

我也不太擅長聯網,torrents 可以與您的瀏覽器 IP 配合使用。 這是一篇文章: 如何檢查您的種子 IP 地址下面是一些源代碼鏈接。 WebTorrentBitTorrent我希望這能給你一些關於它們如何工作的想法。

您的問題:是否可以在全球互聯網上的 2 個非靜態 IP(如 2 部手機)之間發送數據,最好使用某些來源。

簡短的回答:是的。

長答案:有多種選擇可以實現這一目標

  1. WebRTC(Web 實時通信)是一種技術,它使 Web 應用程序和站點能夠捕獲和可選的 stream 數據,而無需在瀏覽器之間進行任意中介,也無需在任意瀏覽器之間交換數據。

現在在初始過程中需要服務器,兩個對等方將交換數據以相互連接

2.IPFS - 星際文件系統:一種點對點超媒體協議,旨在使 web 更快、更安全、更開放。它是一種類似於 torrent 的點對點文件傳輸協議。

您可以使用第一個選項 WebRTC,因為它易於在現代基於 Web 的應用程序中使用,並且大多數瀏覽器現在都支持 WebRTC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM