我有一个运行在tornado上的服务器。我有一个页面打开了与同一服务器的websocket连接。现在我观察到打开多个此页面实例会使它们全部等待,除了其中一个。只有在那个完成它的websocket后,另一个才会开始。这是正常的tornado行为还是我做错了什么?
以前我的服务器正在使用django,但我迁移到了tornado以支持websocket。为此,我将django作为备用服务器。
以前我的服务器正在使用django,但我迁移到了tornado以支持websocket。为此,我将django作为备用服务器。
#!/usr/bin/env python
# Run this with
# PYTHONPATH=. DJANGO_SETTINGS_MODULE=testsite.settings testsite/tornado_main.py
# Serves by default at
# http://localhost:8080/hello-tornado and
# http://localhost:8080/hello-django
from tornado.options import options, define, parse_command_line
import django.core.handlers.wsgi
import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.wsgi
define('port', type=int, default=8000)
class HelloHandler(tornado.web.RequestHandler):
def get(self):
self.write('Hello from tornado')
def main():
wsgi_app = tornado.wsgi.WSGIContainer(
django.core.handlers.wsgi.WSGIHandler())
tornado_app = tornado.web.Application(
[
('/hello-tornado', HelloHandler),
('.*', tornado.web.FallbackHandler, dict(fallback=wsgi_app)),
])
server = tornado.httpserver.HTTPServer(tornado_app)
server.listen(options.port)
tornado.ioloop.IOLoop.instance().start()
if __name__ == '__main__':
main()
我能做些什么来允许我建立多个连接吗?
/send_realtime_message
,然后从django中调用它,例如urllib.request("http://tornado/send_realtime_message?user=user&messahe=Hello")
。但是,在Django应用程序和Tornado服务器之间进行多个通信并不是一个好主意。 - seriyPS