Tornado: Identyfikacja / śledzenie połączeń internetowych?
Mam podstawowy test sieciowy Tornado:
import tornado.httpserver
import tornado.websocket
import tornado.ioloop
import tornado.web
class WSHandler(tornado.websocket.WebSocketHandler):
def open(self):
print 'new connection'
self.write_message("Hello World")
def on_message(self, message):
print 'message received %s' % message
def on_close(self):
print 'connection closed'
application = tornado.web.Application([
(r'/ws', WSHandler),
])
if __name__ == "__main__":
http_server = tornado.httpserver.HTTPServer(application)
http_server.listen(8888)
tornado.ioloop.IOLoop.instance().start()
Chcę być w stanie obsłużyć wiele połączeń (co wydaje się już robić), ale także móc odwoływać się do innych połączeń. Nie widzę sposobu na identyfikację i śledzenie poszczególnych połączeń, aby móc obsługiwać zdarzenia związane z otwarciem połączenia, otrzymywaniem wiadomości i zamykaniem połączenia.
[Edytować]
Myśl o stworzeniu dyktatu, w którym kluczem jest klucz Sec-websocket, a wartością jest obiekt WSHandler ... myśli? Nie jestem pewien, czy niezawodny klucz Sec-websocket ma być wyjątkowy.