QFT 是一個用於快速(且真正可靠)點對點 UDP 檔案傳輸的小型應用程式。
....查看側邊欄上的“發布”部分。您應該會看到一個標題為 vX.YZ 的鏈接,單擊該鏈接,然後為您的作業系統選擇正確的檔案: qft
(適用於 Linux)、 qft-mac
(適用於 Mac)和qft.exe
(適用於Windows)。下載此文件,使其在 Linux 或 Mac 上可執行,然後按照朋友的說明操作,以了解如何接收他們想要發送給您的文件。
qft sender <helper> <shared-phrase> <filename>
。qft receiver <helper> <shared-phrase> <filename>
。或者
qft gui
。 qft helper <bind-port>
qft sender <helper-address>:<helper-port> <phrase> <filename> [send-delay] [bitrate] [skip]
qft receiver <helper-address>:<helper-port> <phrase> <filename> [bitrate] [skip]
助手不是資料中繼,它們僅用於建立連線。
助手們可以幫忙打孔。
*UDP是無連線協議,沒有握手。這裡使用“連接”一詞作為數據將在“連接”方之間交換的指示符。這裡使用「斷開連接」一詞作為指示,表示「先前連接的」各方之間將不再交換資料。
QFT_STREAM
環境變數來允許串流(例如,當您想要從 /dev/stdin 傳輸時)。(shell)
替換為您的 shell 名稱,通常是 bash 或 zsh): echo ' alias qftr="qft receiver tudbut.de:4277" ' >> ~ /.(shell)rc
echo ' alias qfts="qft sender tudbut.de:4277" ' >> ~ /.(shell)rc
source ~ /.(shell)rc
除非傳輸由於很長的暫停或電腦重新啟動而完全終止,否則您很可能不需要此操作,但如果您這樣做:
在兩端停止 qft,然後使用 [skip] 參數再次啟動(如果您先前沒有指定位元率,則預設值為 256)。它將跳過這些位元組並繼續您指定的位置。
Connecting...
但無法連接您的一端未正確連接到助手。停止兩端傳輸並重試。
很多人都提到這怎麼像鱷魚。事實並非如此,因為 croc 使用中繼來發送所有資料。這是一個瓶頸,也意味著中繼管理員要對發送的內容負責。中繼還緩衝大量數據,這意味著如果發送方的連接速度比接收方的連接快得多,則其 RAM 可能會被填滿。 Croc 被標記為「點對點」充其量只是一種誤導,因為它很少使用 P2P 功能(它需要連接埠轉送來執行 P2P,但很少這樣做)。如果你認為 Croc 始終是點對點的,請閱讀前面有關 P2P 神話的部分。
如上所述,它用於建立兩個夥伴之間的連接。
您的路由器使用一種稱為網路位址轉換的功能。這是必需的,因為否則,使用中的 IP 位址將會過多,並且網路將在繁忙時間停止運作。然而,這個 NAT 也是一個問題,因為它是您的 PC 和開放網路之間的一層。當有新的傳入連線時,NAT 將不知道將連線轉送到 LAN 中的哪一台 PC,因此該連線會被拒絕。因此,任何點對點軟體都需要一個輔助伺服器(也稱為「STUN」伺服器),雙方都會詢問對方的 IP 位址和連接埠。然後,兩個對等方都可以向對方發送一堆傳出連線。如果一切順利,兩個對等方都在正確的時間發送了傳出連接,導致兩個 NAT 都認為它們是傳出連接,而實際上,它們是傳入和傳出連接的組合。
TL;DR:由於路由器的存在,如果沒有輔助伺服器,P2P 網路是不可能的。否則需要連接埠轉發,這可能很難設定。
閱讀「提示與技巧」部分中的第二個要點。