1
我想創建一個應用程序,使用網絡服務器將電子郵件和消息直接發送到其他客戶端,使用Web服務器維護在線客戶端列表,其中客戶端將讀取NAT
發送的IP
和Port
該列表直接連接到命運客戶端。如何通過HTTP從NAT中獲取客戶端IP和端口?
是否可以在HTTP
Web服務器中接收此信息?我該怎麼做?或者我可以只使用UDP
服務器(UDP Hole Punch
)?
東西像原始的Skype,但與網絡服務器。
我想創建一個應用程序,使用網絡服務器將電子郵件和消息直接發送到其他客戶端,使用Web服務器維護在線客戶端列表,其中客戶端將讀取NAT
發送的IP
和Port
該列表直接連接到命運客戶端。如何通過HTTP從NAT中獲取客戶端IP和端口?
是否可以在HTTP
Web服務器中接收此信息?我該怎麼做?或者我可以只使用UDP
服務器(UDP Hole Punch
)?
東西像原始的Skype,但與網絡服務器。
你不能。
從「外部」NAT作爲您唯一的客戶端,您只知道其(NAT)源IP和(不一定)源端口。
但是,如果目的地想要回復發件人呢?如果它不知道發件人的端口,那麼NAT可能會將答案發送給正確的本地計算機? – PSyLoCKe
@EASI:如果您使用tcp/ip,則可以使用建立的連接發送響應。因此,您正在響應NAT,然後NAT使用其自己的映射表將數據包轉發給原始客戶端。 – zerkms
謝謝,但我怎麼能得到這兩個信息?我想在轉向自定義服務器之前測試這種可能性。對於IP,它是'$ _SERVER ['REMOTE_ADDR']',但端口怎麼樣? – PSyLoCKe