我有一个注册 NotifyRouteChange() 并在异步调用中等待的应用程序。我们知道,基于 Windows 操作系统的路由表更改,此 API 会被回调。我需要更多关于是什么让 Windows 触发此功能的信息?
在我的 Win 7 Professional 环境之一中,我在一秒钟内收到 100 个 IP 地址更改通知。如何减少它?
谢谢,萨拉瓦娜
我有一个注册 NotifyRouteChange() 并在异步调用中等待的应用程序。我们知道,基于 Windows 操作系统的路由表更改,此 API 会被回调。我需要更多关于是什么让 Windows 触发此功能的信息?
在我的 Win 7 Professional 环境之一中,我在一秒钟内收到 100 个 IP 地址更改通知。如何减少它?
谢谢,萨拉瓦娜
好像是环境问题。
我用过
ret = NotifyAddrChange(handle, &overlap);
ret = NotifyRouteChange(handle, &overlap));
然后有一个回调函数来监控这些注册,如果 IP 地址/路由有任何变化,这些回调已经启动。这些回调函数已将这些通知传递给我的其他线程来处理,并再次注册相同的 API。
此问题并非在所有机器中都出现,而是在特定环境中出现。我的网络不会引发任何问题。
使用可等待的计时器来抑制事件,以便您的事件处理程序在最后一次 NW 更改事件后的最短时间后触发:
基本上当您收到地址/路线更改事件时: