2

我有一个问题,我希望你们能帮助我解决...

我使用我们为 IE 创建的插件...它检测网络上的设备...设备是我们自己创建的...现在这个插件可以正常工作并在与我们的以太网连接时检测设备XP 和 Windows 7 中的子网...当它通过 Windows XP 中的子网无线连接时,它会检测设备...但是当我通过 Windows 7 将它与我的无线子网连接时,它会停止发现设备...那一刻我启用了我的 LAN,它再次检测到设备......它在这部分的行为非常奇怪,我不能确定 Windows 7 对此负责,但必须考虑......似乎有无线安全影响它但是现在没有关闭这样的证据......

我不完全了解插件代码,但它通过网络使用 mDNSresponder 服务......

我使用 Windows 7 64 位操作系统和 Internet Explorer 9... 已在 Windows 7 32 位和 IE 版本 8 和 9 上进行了测试,结果相同... Windows 防火墙已打开/关闭为好...

抱歉,如果我发错了帖子,请原谅我的任何不一致之处...感谢您的帮助...谢谢...

EDIT-1:该插件是用 C++ 构建的,我也可以给你它的代码,但关键是它不涉及这里......这似乎是 Windows 7 中无线的问题......我使用 Wireshark 通过网络嗅探数据包,发现在有线网络中运行时,我可以看到通过 MDNS 协议的请求和响应......但是当我切换到无线网络时,没有通过 MDNS 的请求或响应,因此没有仅通过网络发送的查询...好像当我连接到无线网络时,某些东西阻止了插件查询网络...如果可能,请帮助我...非常感谢...

4

1 回答 1

2

好的,问题解决了......问题是我的程序无法找到 IEEE 802.11 无线网络接口......自从 Vista 出现以来,Windows 已经改变了一些它的架构,而我的程序是在那之前几年制作的...

在 Vista 之前,以太网和 IEEE 无线的网络适配器类型值相同,即6,称为MIB_IF_TYPE_ETHERNET ...但现在它们都已区分,IEEE 无线适配器获得一个名为IF_TYPE_IEEE80211的新值71 ...在我们的代码中,我们有一个验证来拒绝MIB_IF_TYPE_ETHERNET以外的网络适配器,因此它曾经与 XP 一起使用,但 Windows 7 有其他计划......为IF_TYPE_IEEE80211添加另一个验证解决了这个问题。

您可以查看以下链接以获得更清晰的信息,如果您有任何疑问,请告诉我... http://msdn.microsoft.com/en-us/library/windows/desktop/aa366062%28v= vs.85%29.aspx

干杯...

于 2013-02-12T11:02:06.870 回答