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