<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                Netd進程的入口函數是其main函數,代碼如下所示: **main.cpp** ~~~ int main() { CommandListener *cl; NetlinkManager *nm; DnsProxyListener *dpl; MDnsSdListener *mdnsl; ALOGI("Netd 1.0 starting"); //為Netd進程屏蔽SIGPIPE信號 blockSigpipe(); //①創建NetlinkManager nm = NetlinkManager::Instance(); //②創建CommandListener,它將創建名為"netd"的監聽socket cl = new CommandListener(); //設置NetlinkManager的消息發送者(Broadcaster)為CommandListener。 nm->setBroadcaster((SocketListener *) cl); //啟動NetlinkManager nm->start(); ...... //注意下面這行代碼,它為本Netd設置環境變量ANDROID_DNS_MODE為"local",其作用將在2.2.4節介紹 setenv("ANDROID_DNS_MODE", "local", 1); //③創建DnsProxyListener,它將創建名為"dnsproxyd"的監聽socket dpl = new DnsProxyListener(); dpl->startListener(); //④創建MDnsSdListener并啟動監聽,它將創建名為"mdns"的監聽socket mdnsl = new MDnsSdListener(); mdnsl->startListener(); cl->startListener(); while(1) { sleep(1000); } exit(0); } ~~~ Netd的main函數非常簡單,主要是創建幾個重要成員并啟動相應的工作,這幾個重要成員分別是: - NetlinkManager:它將接收并處理來自Kernel的UEvent消息。這些消息經NetlinkManager解析后將借助它的Broadcaster(也就是代碼中為NetlinkManager設置的CommandListener)發送給Framework層的NetworkManagementService。 - CommandListener、DnsProxyListener、MDnsSdListener:分別創建名為"netd"、"dnsproxyd"、"mdns"的監聽socket,并處理來客戶端的命令。 下面將分別討論這四位成員的作用。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看