3.初始化
优质
小牛编辑
123浏览
2023-12-01
接下来的代码例子揭示了,怎样去把Flask-SocketIO引入到Flask应用:
from flask import Flask, render_template from flask_socketio import SocketIO app = Flask(__name__) app.configp['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) if __name__ == '__main__': socketio.run(app)
init_app()风格的初始化也是支持的。注意网络服务器的启动。函数socketio.run()封装了网络服务器的启动部分,并且代替了flask开发服务器的标准启动语句app.run()
。当应用在debug模式下,Werkzeug开发服务器也是在socketio.run()
中被合理地应用和配置。如果可用的话,在生产模式下eventlet网络服务器也是被应用的,否则,gevent网络服务器将会被启用。如果eventlet和gevent都没有被安装,那么将会使用Werkzeug开发网络服务器。
在flask 0.11中被引入的可点击命令行界面也是被支持的。这个扩展提供了一个新版的flask run命令,适合启动一个Socket.IO服务器。用法示例:
FLASK_APP = my_app flask run
这个应用只能为那种连接到客户端的页面服务,并且客户端还需引用Socket.IO库并且建立一个连接:
<script type="text/javascript" scr="//cdn.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script> <script type="text/javascript" charset="utf-8"> var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port); socket.on('connect', function() { socket.emit('my event', {data: 'I\'m connected!'}); }); </script>