2011-08-07 35 views

回答

0

如果你想知道對方的公網IP地址,你需要在公網中有一臺服務器(不在任何NAT後面),連接服務器並讓服務器發送客戶端的IP地址給客戶端。這個網站(http://www.whatismyip.com/)以這種方式顯示你的公開地址。因此,您的服務器需要連接駐留在公共網絡中的另一臺服務器,而無需使用NAT。

但是,無論如何,您的服務器不應該在NAT環境中,因爲NAT通常會阻止任何不是從對等點內部發起的傳入連接。這意味着即使客戶端知道您的服務器的公共地址,它也將無法連接到NAT後面的服務器,因爲NAT會阻止客戶端的連接請求。

+0

對於nat客戶端,它會好嗎,對服務器來說是一樣的嗎?無論如何,服務器只是一個套接字監聽器。我認爲NAT將本地地址轉換爲其他公共IP和端口,我只是不知道如何獲得服務器的公共地址。 – xiaofeng

+0

如果您的程序是服務器或客戶端,則NAT不會(無法關心)。你會如何區分NAT?另外,NAT不僅僅是轉換IP地址。這就是爲什麼有可能NAT穿越技術。 http://en.wikipedia.org/wiki/NAT_traversal – young

相關問題