tornado怎么使用不同端口号托管flask和websocket服务器
时间: 2024-05-15 09:19:07 浏览: 201
基于Tornado和WebSocket的HTML5围棋游戏ChainForPerlsWeb设计源码
您好!关于您的问题,使用tornado可以通过定义不同的端口号来托管Flask和WebSocket服务器。可以通过以下代码实现:
``` python
from tornado import web, httpserver, ioloop, websocket
from tornado.wsgi import WSGIContainer
from flask import Flask, render_template_string
flask_app = Flask(__name__)
@flask_app.route('/')
def index():
return render_template_string('<h1>Hello, Flask!</h1>')
class WebSocketHandler(websocket.WebSocketHandler):
def open(self):
print('WebSocket opened')
def on_message(self, message):
print(f'Received message: {message}')
self.write_message(f'You said: {message}')
http_server = httpserver.HTTPServer(
WSGIContainer(flask_app)
)
http_server.listen(5000) # Flask服务端口
# WebSocket服务端口
ws_server = httpserver.HTTPServer(
websocket.WebSocketApplication([
(r'/ws', WebSocketHandler)
])
)
ws_server.listen(8000)
ioloop.IOLoop.current().start()
```
以上代码中,Flask服务监听5000端口,WebSocket服务监听8000端口。通过自定义不同的端口号来实现托管不同的服务器。
阅读全文