http 永続接続の場合、次のコードを書きました。
class LongPolling(tornado.web.RequestHandler):
waiters = set()
def get(self):
LongPolling.waiters.add(self)
for x in LongPolling.waiters:
x.write("Broadcast all")
x.flush()
return
def on_close(self):
logging.warning("Connection closed *********")
LongPolling.waiters.remove(self)
if __name__ == "__main__":
application = tornado.web.Application([
(r"/", LongPolling),
])
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
新しい接続が来るたびにブロードキャストしています..しかし、これの問題はget()
、接続が閉じた直後です。
では、get() 呼び出しの後に接続を開くにはどうすればよいでしょうか?