如何在列表框中列出网络计算机的IP地址?



通过套接字连接到另一台计算机(我已经成功了,耶我)需要输入主机的IP地址,我的教授认为这"不方便使用"。

我以前的程序涉及到使用服务器,现在不再需要由于套接字连接的东西。我当时使用的代码是列出网络名称,这是我的教授非常喜欢的。

NetworkBrowser nb = new NetworkBrowser();
foreach (string pc in nb.getNetworkComputers())
{
   lstNet.Items.Add(pc);
}

当用户选择网络上的计算机名时,是否有可能使用该代码,并让程序检索IP地址(如果可能的话,是IPv4) ?这将在任何套接字连接之前完成。

或者如果失败/不可能,我如何在列表框中列出计算机的IP地址?我真的不知道如何实现我一直听说的ARPing。

不幸的是,我的学校只运行。net 2.0,所以我恐怕我唯一的选择是c# Windows窗体,没有WCF或任何东西。

非常感谢所有回答的人

您可以执行DNS请求来获取IP地址:

IPAddress[] addresslist = Dns.GetHostAddresses(pc);
foreach (IPAddress address in addresslist)
{
   Console.WriteLine(address.ToString());
}

您必须包含System.Net(在。net 2.0中可用)

最新更新