que tienen una prueba básica Tornado WebSocket:Tornado: identificar/rastrear conexiones de websockets?
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()
Quiero ser capaz de manejar múltiples conexiones (que se parece hacer ya), pero también para poder hacer referencia a otras conexiones. No veo una forma de identificar y realizar un seguimiento de las conexiones individuales, solo para poder manejar los eventos en la conexión abierta, la recepción de mensajes y el cierre de la conexión.
[Editar]
Se pensó en crear un dict donde la clave es la clave Sec-websocket y el valor es el objeto WSHandler ... ¿pensamientos? No estoy seguro de cuán confiable sea Sec-websocket-key para ser único.
Hasta donde yo sé, se creará una única instancia de WSHandler por conexión. Entonces, WSHandlers básicamente son solo interfaces de conexión. ¿Puede ser que desee agregar algún motor de procesamiento de mensajes encima de la red, por ejemplo, como http://code.google.com/p/pyscxml/? – Vladimir