<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                P2P規范中附錄A[9]通過定義一個狀態機介紹了P2P的整體工作流程,筆者覺得以此作為本章P2P理論知識的總結是最好不過了。該狀態機的狀態定義及切換如圖7-22所示。 :-: ![](https://box.kancloud.cn/36c750d453800894beb6f72643214b0b_954x706.jpg) 圖7-22 P2P狀態機 圖7-22中,三個黑虛線框分別是Find Phase、Group Formation Procedure和OperationalPhase,這三個Phase描述的是P2P工作流程中的一個階段,每個階段可包含一個或多個狀態。例如Group Formation Procedure階段包含GON、WSC Provisioning Registrar和WSC ProvisioningEnrollee三個狀態。 每個狀態對應的狀態名位于狀態框頂部,其字體格式為加粗并帶下劃線。注意,圖中Search狀態包含兩個子狀態,分別是Search子狀態以及Service Discovery子狀態。由于P2PDevice并不都支持Service Discovery功能,所以Service Discovery子狀態為可選(operational)狀態。 每個狀態都有對應的Entry Action、Exit Action和Internal Behavior。其中,EA和EXA位于狀態框圖的上半部分,而Internal Behavior位于狀態框圖的下半部分。狀態之間的切換及切換條件由數字序號及箭頭線表示。 下面介紹圖7-22中P2P狀態機的各個狀態以及狀態轉換條件。對此,我們重點考察每個狀態的EA(Entry Action)、EXA(Exit Action)、Internal Behavior以及Transition。 一個P2P Device最初的狀態是Off,然后將進入Scan狀態(括號中的數字對應圖7-22中的數字)。 :-: ![](https://box.kancloud.cn/0bf4881e1b53fd18377bb6a01d1afe2c_1079x375.jpg) 接著來看Find Phase,它包括Listen和Search兩個狀態。其中,Listen狀態如下。 :-: ![](https://box.kancloud.cn/288069ebad8d19710f56128a5af78e79_1074x541.jpg) Find Phase中另外一個狀態是Search狀態。它包含Search子狀態和Service Discovery子狀態。先來看Search子狀態。 :-: ![](https://box.kancloud.cn/23577448154825ce9577dc8634b66827_1075x125.jpg) 再來看Service Discovery子狀態。 :-: ![](https://box.kancloud.cn/85fb2462adccf25f1384478a4d1d7dac_1071x119.jpg) Search狀態(包括Search子狀態和Service Discovery子狀態)的Transition情況如下。 :-: ![](https://box.kancloud.cn/2329b5b53f3756c3f2ca9f4d76301cc9_1071x237.jpg) 接著來看Group Formation Procedure,該階段包含三個狀態,首先是GON。 :-: ![](https://box.kancloud.cn/45ea5b4146ffebe3e532143c454c8a0f_1074x259.jpg) Group Formation Procedure另外兩個狀態WSC Provisioning Registrar和WSC Provisioning Enrollee比較簡單,請讀者根據圖7-22自行總結。 最后,來看看Operational Phase,它包含P2P GO和P2P Client兩個狀態,首先是P2P GO狀態。 :-: ![](https://box.kancloud.cn/e1b058fe1f5e0e1b07364db0efbcbba6_1087x155.jpg) 再來看P2P Client狀態,它沒有EA和EXA。 :-: ![](https://box.kancloud.cn/a0d182a4282bfe278ffdb428744f5a98_1069x146.jpg) 圖7-22對掌握P2P整體工作流程有重要意義,讀者不妨仔細閱讀。從下一節開始,將分析Android平臺中P2P的代碼實現。和WSC一樣,首先分析的是Java層中的WifiP2pSettings以及WifiP2pService。
                  <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>

                              哎呀哎呀视频在线观看