<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國際加速解決方案。 廣告
                # 消息機制 >[success] 我們的所有插件之間的關系都是基于消息機制的,也就是 **MQ消息隊列** (Message Queue,簡稱MQ),插件和系統、小程序之間直接通過MQ直接通訊。通過消息機制,各個插件和組件之間再無隔閡,每個組件不再成為信息孤島,且MQ機制的高可靠性和窄帶通信能力也非常強大,能在網絡不佳的情況下保證了消息的傳遞性。 <br> # 消息規范 >[info] 自美智能物聯網系統已經對消息機制進行了整合,用戶層只感受到發送一個指令到某個系統組件,實際上消息會發送到控制中心,再由控制中心發送到指定接收者(組件) ![](http://qiniucn.16302.com/a8a130bb162a89fcf3b9a67948f346f5) :-: 用戶的感知流程 <br> ![](http://qiniucn.16302.com/851371ef89783f4f5439103dfdb9b2f6) :-: 消息處理的過程 ## ?? 發送消息 標準的消息發送方法`self.send(MsgType, Receiver, Data)`函數結構為`self.send(數據類型,接收者,發送的數據)` ★ 下面是一段示例代碼 ```python from MsgProcess import MsgProcess, MsgType class helloworld(MsgProcess): def Text(self, message): data="你好世界~ 我是智能小美" self.send(MsgType.Text, Receiver='Screen', Data=data) ``` 這段代碼的意思是調用`self.send()`函數向接收者(Receiver)`Screen`組件發送`MsgType.Text`類型的數據`你好世界~ 我是智能小美` <br> **參數介紹:** MsgType 消息類型,有以下幾種: ``` MsgType.Start # 啟動指令 MsgType.Pause # 暫停指令 MsgType.Resume # 繼續指令 MsgType.Stop # 停止指令 MsgType.Text # 文本類型 ``` 例1:發送`MsgType.Start`指令到`plugin1`插件(代碼:` self.send(MsgType.Start, Receiver='plugin1', Data="")`),則`plugin1`開始運行(線程開始) 例2:發送`MsgType.Pause`指令到`plugin1`插件(代碼:` self.send(MsgType.Pause, Receiver='plugin1', Data="")`),則`plugin1`暫停運行(線程暫停) 例3:發送`MsgType.Resume`指令到`plugin1`插件(代碼:` self.send(MsgType.Resume, Receiver='plugin1', Data="")`),則`plugin1`繼續運行(繼續線程) <br> ## 重寫消息接收 在自美系統中也可以自定義收到發送者信息的處理方法 ``` # 導入基類庫、消息類型庫 from MsgProcess import MsgProcess, MsgType class helloworld(MsgProcess): '''你好,世界''' def __init__(self, msgQueue): '''如果在插件或功能模塊中使用__ini__方法,必須加下面的這方法,先調用基類中的方法''' super().__init__(msgQueue) def Start(self, message=None): '''功能、插件入口,通常被用初始化插件入口使用''' pass def Text(self, message): '''接收來自其他模塊發送過來的消息類型為:MsgType.Text(文本)消息,再進行二次開發和業務邏輯實現''' pass def Pause(self, message=None): '''接收消息類型為:MsgType.Pause(暫停)消息,實現暫停功能''' pass def Resume(self, message=None): '''接收消息類型為:MsgType.Resume(繼續)消息,實現繼續功能''' pass def Stop(self, message=None): '''接收消息類型為:MsgType.Stop(停止)消息,實現停止功能,定義默認為自動停止''' self.__stop = True ``` 如果在插件或功能模塊中使用`__ini__`方法,必須在`__ini__ `方法中加入`super().__init__(msgQueue)`,先調用基類中的方法。
                  <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>

                              哎呀哎呀视频在线观看