2011-09-26 58 views
0

我想用插座上綁定到所有的機器上可用的IP地址:Socket.bind所有IPS - 一個無效的參數提供

mainSocket.Bind(new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0)); //or IPAddress.Any 

,但我得到一個An invalid argument was supplied

mainSocket.IOControl(IOControlCode.ReceiveAll, byTrue, byOut); 

相反,當我指定IP時,它工作得很好。

enter image description here

好吧,也許這是不可能實現的。但如何檢測哪些互聯網接口正在用於連接到互聯網,並獲得它的IP? (假設用戶在NAT /路由器後面)

+0

你需要指定端點IP地址,因爲你是用零的它並沒有得到端點給人IP地址,因爲與IP綁定套接字它需要特定的IP地址有一定的侷限性和端口。 –

+0

檢查此鏈接http://stackoverflow.com/questions/4146885/socket-bind-returns-the-requested-address-is-not-valid-in-its-context-on-win –

+0

我知道,但綁定到所有的IP呢? – technology

回答