实战经验:通过NotifyAddrChange侦测网络变化( 六 )
2) 应用程序退出
当整个应用程序退出时 , 系统会帮我们自动取消 , 但最好还是由我们显式取消比较好 。 这样做的好处是可以避免工作线程被强制终止而造成资源泄漏 。
侦测到IP地址变化后应该怎么做
NotifyAddrChange只是简单的告诉我们系统的IP地址发生了变化 , 但是具体是怎样变化 , 我们无法从此函数调用中得到 。 这个时候 , 我们可以使用GetAdaptersAddresses这一函数来得到当前最新的IP地址来判断 。
好了 , 我们来看看具体的示例代码 , 此代码来自MSDN 。
程序架构注意点
对于一个图形界面程序来说 , 如果将NotifyAddrChange放置到主线程 , 则会导致主线程阻塞界面卡死 。 那么我们在程序架构阶段 , 将NotifyAddrChange安排到一个工作线程中 , 当系统侦测到IP地址变化 , 工作线程会得到此通知 , 进而通过窗口句柄来通知主线程 。
示例流程图如下
推荐阅读
- 梦幻西游|梦幻西游:千亿经验奖励5连击!长久地坚持在此刻能否收获幸运?
- 手机游戏|梦幻西游手游:如何保证贸易少亏甚至小赚 小号、经验环必不可少
- 我的世界|我的世界:“最奢侈”的附魔是什么?我给胡萝卜钓竿打上经验修补
- jcg|影之诗:JCG的亚军人偶造物 实战六十盘感想
- 盲僧|LOL手游盲僧是英雄代表?灵药再推进阶教学,双区王者的经验
- 传奇世界|传奇世界:获声望的几种途径经验
- 大话西游2|大话西游2:一头年兽6千万经验,玩家怒刷3小时,疯狂上电视!
- 剑魂|DNF:如何短时间打出更好伤害?剑魂干货来了,实战主流装备搭配
- 戒指|梦幻西游:10张玲珑图全程无经验,宝石还只出了一个!
- 挂机|玩游戏赚钱,个人总结日进200经验,有电脑就行!