最后决定将Tornado作为WebSocket服务器,但我对如何实现它有疑问。
在完成有关创建工作服务器的基本教程之后,我最终得到了这个:
#!/usr/bin/env python
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from tornado.web import Application
from tornado.websocket import WebSocketHandler
class Handler(WebSocketHandler):
def open(self):
print "New connection opened."
def on_message(self, message):
print message
def on_close(self):
print "Connection closed."
print "Server started."
HTTPServer(Application([("/", Handler)])).listen(1024)
IOLoop.instance().start()
它很好用,但我想知道是否真的需要运行服务器的其他模块(tornado.httpserver,tornado.ioloop和tornado.web)。
拥有它们并不是一个大问题,但我只是想确保没有更好的方法来做任何事情(我还没有完全覆盖这些模块。)。
答案 0 :(得分:6)
tornado.httpserver:
tornado.ioloop:
tornado.web:
我希望,这将涵盖您留下的模块。
答案 1 :(得分:1)
是的,因为您正在使用您引用的每个模块/包中的每个导入,所以需要它们。如果您在源代码顶部引用某些内容但从未在以下任何代码中再次使用它,那么您当然不需要它们,但在这种情况下您使用的是导入。