2013-03-10 71 views
0

我做聊天服務器在C#中使用我應該使用什麼IP來託管我的聊天服務器?

Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.TCP); 
s.Bind(IPAddress.Parse(theIP),thePort); 

但後來我得到一個

「SocketException是未處理的,該請求的地址不在 其上下文中有效」

我如何查找使用的正確IP? cmd ipconfig IPv4Address?因爲那個IP(我相信)是用於內部IP的。我希望服務器IP是可以從我的網絡外部訪問的外部IP地址

回答

0

您需要在路由器中將您的一個外部IP /端口綁定到內部地址時創建靜態路徑(有時稱爲端口轉發)和您的聊天服務器所需的端口。然後,您將在您的代碼中引用您的內部IP地址,在您的網絡上。

+0

如果我不通過路由器,並使用USB調制解調器,有沒有一種方法可以編程設置服務器IP和客戶端應用程序的IP連接? – Frapie 2013-03-10 15:09:42

+0

您客戶需要的IP地址是您的外部IP地址。在Google中鍵入「whats my ip address」,它會顯示在頂部,或者您可以點擊任何鏈接以獲取您當前分配的IP地址。如果您使用的是USB調制解調器,那麼您的互聯網服務提供商可能會分配給您一個動態IP地址,這意味着它會不時變化。所以作爲一個永久的解決方案,這不會工作。但是你可以使用你的動態IP直到它改變。 – 2013-03-10 15:20:22

+0

您將不得不打開Windows防火牆上使用的端口。 – 2013-03-10 15:20:57

相關問題