应用程序连接到不同的Wi-Fi网络但接收相同的IP地址

时间:2016-02-16 16:17:08

标签: c# networking

我正在开发一个C#应用程序。我需要知道应用程序何时连接到不同的Wi-Fi网络。这里棘手的部分是应用程序在两个Wi-Fi网络上分配了相同的IP地址:

  1. 应用程序当前已连接到IP地址为11.22.33.44的Wi-Fi#1。
  2. 在运行应用程序的PC上,我将PC与Wi-Fi#1断开连接。
  3. PC快速连接到Wi-Fi#2并分配相同的IP地址(在本例中为11.22.33.44)。
  4. 应用程序收到NetworkChange.NetworkAddressChanged事件。
  5. 应用程序在NetworkInterface.GetAllNetworkInterfaces()返回的网络接口中循环,以便检测IP地址更改(通过检查分配给特定NetworkInterface.Id的IP地址是否已更改)。
  6. 问题是网络接口信息没有改变(NetworkInterface.OperationalStatus仍然是UP,IP地址是相同的)。
  7. 未收到NetworkChange.NetworkAvailabilityChanged事件。如果NetworkInterface.OperationalStatus为DOWN然后再返回UP,我可以检测到更改。
  8. 有什么想法吗?

    是否可以访问Wi-Fi网络列表并找出应用程序与哪个网络连接?

    谢谢!

1 个答案:

答案 0 :(得分:0)

如果您只对测试Wi-Fi网络感兴趣,可以使用SSID来确定您所在的网络。

Get SSID of the wireless network I am connected to with C# .Net on Windows Vista