我在一个学术项目中开发了一个程序。该程序包括一个客户端和一个服务器部分,旨在允许两个笔记本在 adhoc 网络中交换信息:
- 该程序应与另一台计算机建立临时连接
- 程序应通过 adhoc 连接向另一台计算机发送消息
我做了第一步。我开发了一个使用 Windows WLAN API 连接到 adhoc 网络的程序。问题是第二步。我想使用 Sockets API 来发送消息。因此,我需要另一台计算机的 IP 地址。如何在 adhoc 网络中获取这台计算机的 IP 地址?
我认为您应该能够枚举连接到网络的所有网络接口并转储每个适配器的已知地址。像这样的东西:
var addresses = Dns.GetHostEntry((Dns.GetHostName()))
.AddressList
.Where(ip => ip.AddressFamily == AddressFamily.InterNetwork)
.Select(ip => ip.ToString())
.ToArray();
也看看ManagedWifi