<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>

    Rss & SiteMap

    曙海教育集團論壇 http://www.bjzhda.cn

    曙海教育集團論壇
    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]
    [瀏覽完整版]

    標題:Symbian 深入討論 RConnectionMonitor并用此來統計流量

    1樓
    wangxinxin 發表于:2010-12-3 16:02:56

    今天來聊聊關于如何使用RConnectionMonitor來統計流量。

    RConnectionMonitor被SYMBIAN封裝的受不了。

    大家詳細看看OS 內核,把好好的一個API封裝的想自殺擬的。

    因為這種變態的封裝使得我們好多參數都得不到,郁悶之極啊。

    如果我們能得到流量,并定位到指定的程序該多好啊。

    哈哈。很多事情都往往......但是總是美好的瑕想。

    少費話了,看我們如何應用RConnectionMonitor這個來統計流量吧。

    我們先來看看RConnectionMonitor這個的基本用法。

    假定您已經習慣了Symbian的Observer模式。那么請先繼承MConnectionMonitorObserv

    er吧

    //初始化

    void CMonitorNetWork::ConstructL()

    {

    TInt err = iConnMon.ConnectL();

    iConnMon.NotifyEventL(*this);

    }

    //當發生所有事件時,都可以回調到這里

    //比如新的連接,連接斷開時都會回調

    void CMonitorNetWork::EventL( const CConnMonEventBase &aEvent )

    {

    case EConnMonCreateConnection:

    {

    TUint connectionId = eventCreate->ConnectionId();

    //所有的新建的連接都會回調到這里

    //我們可以得到連接的索引

    //那么連接的索引對于我們來說有什么作用呢?哈哈當然有作用。

    //讓我們來看看下面的API。KDownlinkData哈哈是不是很驚喜可以得到下載的流量。

    //對就是這樣的。讓我們來分析一下這個API。

    //aConnectionId 連接索引,0 子連接,KDownlinkData 需要得到屬性的值,iValue所得到的值

    //GetUintAttribute( aConnectionId, 0, KDownlinkData, iValue, iStatus);

    }

    }

    //哈哈。我們搞清楚了GetUintAttribute的每一項是不是所有的事情都搞定了呢。

    //當然不是,在測試中發現有時候得不到值。

    void CMonitorFlow::GetDownLinkData(TUint aConnectionId)

    {

    iState = EGet;

    iMonitor.GetUintAttribute( aConnectionId, 0, KDownlinkData, iValue, iStatus);

    SetActive();

    }

    //注意:在這里每1S種得到一次值,就可以得到相應的流量值了。系統刷新的比較慢。我們就忍了吧。

    共1 條記錄, 每頁顯示 10 條, 頁簽: [1]

    Copyright © 2000 - 2009 曙海教育集團
    Powered By 曙海教育集團 Version 2.2
    Processed in .01563 s, 2 queries.