終於解決了關於基於tcp的p2p的內網穿透問題
其實本該在去年就解決這個問題的,**寫出來了,只是一直沒時間去驗證。
這幾天重寫了一下。
中國的網路基本是全是內網,通過路由的nat轉換;udp的p2p實現起來非常簡單。
只是udp太不穩定了,如果網路快的情況下丟包太嚴重。
所以一直想是否能通過tcp來代替udp,還好在國外的乙個論壇上看到了相關的解決方案
相對於udp來說,複雜一點,只多了2步而已,**上給出了全部步驟,但真正的建立並不需要完全按**的,
我的方法是
1建立2個伺服器,(for base tcp,for hole tcp)
2.開啟client,4個socket,(1 for base tcp socket 2 for hole socket 3,for listen 4 for connect to listen)
3,建立base連線,
4發起hole連線,client—server,
5.server通知client打洞hole,server通知client ip and port
6.client listen 本地的hole埠
7 client請求connect to client ;
8.如果失敗client通知對方連線自己
server:
client 1
client2
P2P之NAT穿透問題
stun協議 rfc3489 詳見http www.ietf.org rfc rfc3489.txt 提出了4種nat型別的定義及其分類,並給出了如何檢測 在用的nat究竟屬於哪種分類的標準。但是,具體到p2p程式如何應用stun協議及其分類法穿越nat,則是仁者見仁 智者見智。因為stun協議並沒...
P2P之NAT穿透原理
p2p之nat穿透原理介紹 一次專案中,對於主動協議接入的裝置,客戶希望能夠裝置端直接推送碼流到客戶端以此減少中心 的負載。所以對p2p這塊方案做了了解,這裡做下整理。即對等計算機網路,是一種在對等者 peer 之間分配任務和工作負載的分布式應用架構 是對等計算模型在應用層形成的一種組網或網路形式。...
P2P之UDP穿透NAT原始碼分析
p2p之udp 穿透nat 原始碼分析 說明 有關這方面的介紹很多,請參考p2p 之udp 穿透nat 的原理與實現的講解。主要技術就是nat 網路位址轉換。要強調的一點是,當內網客戶端要連線公網伺服器時,會在nat 上建乙個session,並且分配乙個埠 十分重要 並且記錄相應的公網ip 位址和埠...