TornadoのWebSocketの使用

929 ワード

TornadoはWebSocketのパッケージを実現した.
以下は、ソースコードがDemoを提供するコードの一部です.Tornadoのgithubアドレス:https://github.com/tornadoweb/tornado
class ChatSocketHandler(tornado.websocket.WebSocketHandler):
    waiters = set()

    def open(self):
        ChatSocketHandler.waiters.add(self)

    def on_close(self):
        ChatSocketHandler.waiters.remove(self)

    def on_message(self, message):
        logging.info("got message %r", message)
        self.write_message(u"You said: " + message)

ここChatSocketHandlerでopen,on_をオーバーライドしましたclose、on_Messageメソッド.
  • open:この方法の体内では、接続を開く操作
  • を行うことができる.
  • on_close:この方法では,接続を閉じる操作
  • を行うことができる.
  • on_Message:このメソッドでは、受信メッセージを操作することができる
  • 使用write_Messageメソッドは、接続クライアントにメッセージ
  • を送信する.
    以上の方法のみを用いると,実際の開発ではドメイン間の問題に直面する.この場合、overrideの下にWebSocketHandlerのcheck_が必要です.origin
    def check_origin(self, origin):
        return True