套接字C#和不同的子网

时间:2014-12-07 17:38:30

标签: c# sockets

我正在努力实现一个套接字应用程序。 我用的时候:

IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 11000);

localEndPoint IPEndPoint包含“192.168.56.1”,这是我在VirtualBox网络下的地址。 它应该包含我的本地网络IP(“192.168.1.165”)。

我该如何管理?

我查看了谷歌,但我能找到答案抱歉...

2 个答案:

答案 0 :(得分:1)

您的虚拟机对外界的网络接口一无所知。您只能使用NetworkInterface.GetAllNetworkInterfaces()方法(see here)找到您的本地地址。其他任何东西都应该是配置设置。

答案 1 :(得分:1)

使用IPAddress.Any简单地绑定所有本地接口。在大多数情况下,您无需找到特定的本地IP。

请注意,除了一个地址外,您将丢弃所有地址。难怪你只得到一个。

没有 本地IP这样的东西。这是一套。