看板 C_and_CPP 關於我們 聯絡資訊
有點不太會下標題 一直存在一個盲點 假如我有一個需求是偵測 網路 Type只要有Change的話 就要通知上層跟我註冊Callback的人 但 "GetNetWorkType()"這 API 我有 但我無法 第一時間 偵測到change 就往上報 我能做的 只能類似以下寫法 while(true) { Sleep(睡一下 不狂問); auto nt = GetNetWorkType(); if(有change) Callback(nt); } 但這種寫法一定無法做到第一時間得到資訊 如果要做到第一時間 是不是需要OS 或是 什麼來幫助我呢?? 之前有經驗 win32有提供 listen一個reg key 的API 我註冊callback 假如這個key的value被改 我會收到callbck.... 這樣確實可以得到第一手消息 但是其他case 我都只能選擇 polling主動去問 請問有沒有什麼技術 可以讓我做到我想做的呢 目前是針對windows 下....linux不熟 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.15.66
priv:一般常用的notification其實微軟都有做 12/28 13:13
priv:比較討厭的地方是較新的api幾乎都是COM... 12/28 13:14
priv:你要的功能可以參考 http://goo.gl/PqECu 12/28 13:16
priv:有點麻煩因為還有分XP和Vista/7兩種 12/28 13:16
priv:但是話說回來這類東西就算你用registry 12/28 13:16
priv:XP和Vista/7也是不一樣.. 12/28 13:16
QQ29:我network只是舉個例子@@ 我想說除了用polling的方式問 12/28 14:46
QQ29:有沒有其他方式可以得到資訊, reg那個是剛好微軟會去改reg的 12/28 14:46
QQ29:話, 才有辦法接到通知@@ 但以很多case 跟reg好像也沒關係 12/28 14:46
QQ29:所以不太知道怎麼 作會比較 好 12/28 14:47
priv:我的意思也是,看那個事件微軟有沒有提供notification 12/28 17:22
priv:但是比較新的OS notification很多都是COM...很麻煩 12/28 17:22
priv:如果是你自己寫的driver可以寫AP去註冊event callback 12/28 17:32