<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 功能強大 支持多語言、二開方便! 廣告
                ## 管理WebSockets池 ws4py提供一個ws4py.manager.WebSocketManager類,一旦執行了HTTP升級握手,就會處理ws4py.websocket.WebSocket實例。 管理強制性的,而是使其更容易跟蹤并讓他們在應用程序的過程中運行。 當將websocket(websocket)添加到管理器中時,文件描述符將向管理者的輪詢器注冊,并且opened()方法被調用。 **輪詢** 管理器使用輪詢機制來分派套接字傳入事件。實現兩個輪詢器,一個使用傳統選擇,另一個是基于select.epoll,僅在系統上可用時才使用。 輪詢在自己的線程中執行,它保持循環,直到管理器調用stop()方法。 在每個循環中,輪詢器被調用以輪詢所有注冊的文件描述符。 如果任何一個都準備就緒,我們使用該描述符檢索websocket,如果websocket尚未終止,則我們調用其一次方法,以便處理傳入的字節。 如果處理失敗,管理員終止websocket并將其從自身中刪除。 客戶端示例 以下是一個簡單的示例,說明如何針對單個服務器啟動2000個客戶機: ``` from ws4py.client import WebSocketBaseClient from ws4py.manager import WebSocketManager from ws4py import format_addresses, configure_logger logger = configure_logger() m = WebSocketManager() class EchoClient(WebSocketBaseClient): def handshake_ok(self): logger.info("Opening %s" % format_addresses(self)) m.add(self) def received_message(self, msg): logger.info(str(msg)) if __name__ == '__main__': import time try: m.start() for i in range(2000): client = EchoClient('ws://localhost:9000/ws') client.connect() logger.info("%d clients are connected" % i) while True: for ws in m.websockets.itervalues(): if not ws.terminated: break else: break time.sleep(3) except KeyboardInterrupt: m.close_all() m.stop() m.join() ``` 一旦根據echo_cherrypy_server示例創建了這些例子,請將瀏覽器指向http://localhost:9000/并輸入消息。 它將被廣播給所有的連接。 當鏈接關閉時,它的連接將自動從管理器中刪除,因此不用刻意的刪除它。 **注意** ```CherryPy和wsgiref服務器內部使用管理器來處理連接的Websockets。 代理服務器僅依賴于gevent服務。``` 翻譯者:蘭玉磊 博客:http://www.lanyulei.com
                  <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>

                              哎呀哎呀视频在线观看