所以,我一直在閱讀NAT-Punchthrough。我似乎正在接受這個想法,但我很難實施它,並且我覺得我在這裏錯過了一步。 測試此功能有點困難,因爲當涉及到基於Internet的連接時,我幾乎無法控制環境。Nat Punchthrough瞭解P2P概念
我有一個SQL服務器作爲我的「服務商」運行,它保持服務器和客戶端的外部地址,以及它們的外部地址。
下面是步驟至今: - 我通過存儲服務器/客戶端的IP/PORT web請求(PHP腳本)連接到我的SQL服務器 - 當兩個是已知的,客戶端和服務器嘗試連接(服務器主機在一個設置的端口上,客戶端通過設置的端口連接) - 沒有發生重大事件
這裏有2個未知數,我想檢查一個與你。 NAT-Punchthrough是否確實需要我在第一步中準備與我在此之後的步驟中連接的確切(內部/ LAN)端口?
如果是這樣,我不知道我的服務器究竟如何工作的水下,所以它可能需要更多的端口,然後我最初給定的靜態端口連接了,但至少給我一個提示。
如果有人有關於此的更多文檔,請讓我知道。
來源:
Programming P2P application
http://www.mindcontrol.org/~hplus/nat-punch.html
所以,長話短說。認爲我們可以從1端口或線性增量進行自己的NAT-Punch實現是天真的,因此應該找到一種服務爲我們做點「魔術」來代替? – Smileynator
沒有理由不能嘗試,但[此前的研究](http://www.brynosaurus.com/pub/net/p2pnat/)表明,在某些技巧下,成功率可能在60%左右。如果你確實嘗試並得到任何結果 - 那麼對於其他人知道你做了什麼,這將是很好的反饋。 –
由於我們需要能夠達到90%,至少要通過它在生產中,我們將退出此。有些服務可以爲您提供NAT-Punchtrough。然而據我所知,他們都會做一些類似插座的東西,所以你被困在運行linux serverto的時候爲你做這個魔術。他們獲得了90%的成功。如果你想要100%的可靠性,你會被卡住,使用一個RELAY服務器,這就像Photon Networking。這通常會變得很昂貴,特別是在我們想要發送的數據負載的情況下。在一個小團隊中取得勝利實在太難了! #延遲 – Smileynator