我如何让这个 websocket 示例与 Flask 一起使用
How do I get this websocket example to work with Flask?
我正在尝试使用Kenneth reitz的Flask-Sockets库来编写一个简单的websocket接口/服务器。这是我到目前为止所拥有的。
from flask import Flask
from flask_sockets import Sockets
app = Flask(__name__)
sockets = Sockets(app)
@sockets.route('/echo')
def echo_socket(ws):
while True:
message = ws.receive()
ws.send(message)
@app.route('/')
def hello():
return '
'''
<html>
<head>
<title>Admin</title>
<script type="text/javascript">
var ws = new WebSocket("ws://" + location.host + "/echo");
ws.onmessage = function(evt){
var received_msg = evt.data;
alert(received_msg);
};
ws.onopen = function(){
ws.send("hello john");
};
</script>
</head>
<body>
<p>hello world</p>
</body>
</html>
'''
if __name__ == "__main__":
app.run(debug=True)
我期望发生的事情是当我转到默认烧瓶页面时,http://localhost:5000
在我的情况下,我会看到一个带有文本hello john
的警告框,但是我反而收到Firefox错误。错误是 Firefox can't establish a connection to the server at ws://localhost:5000/echo
。如何通过向 Web 服务器发送消息然后回显回复来使hello john
显示在警报框中?
使用 gevent-websocket (请参阅 gevent-websocket 用法):
if __name__ == "__main__":
from gevent import pywsgi
from geventwebsocket.handler import WebSocketHandler
server = pywsgi.WSGIServer(('', 5000), app, handler_class=WebSocketHandler)
server.serve_forever()
或者使用 gunicorn 运行服务器(参见 Flask-Sockets 部署):
gunicorn -k flask_sockets.worker module_name:app
相关文章:
- 转义符不能与innerHTML一起使用
- 高亮显示与数组字符串一起使用时文本插件中断
- setTimeout可以与闭包内的函数一起使用吗
- 将依赖外部库的UMD模块与browserfy捆绑在一起
- Highcharts colorsByPoint与系列中的线性渐变一起使用时不起作用
- 如何将js库与typescript一起使用
- 将webpack和babel与父项目目录中的文件一起使用
- 将变量从Flask传递到JavaScript
- 将 Drag&Drop 与 jsTree 和 DataTables 一起使用
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 将两个ext.TabPanels滚动到一起
- 将jQuery UI Timepicker Addon与React一起使用
- 什么是curl以及如何将其与nodejs一起使用
- Javascript”;onmousemove”;事件无法与类一起使用
- 将require('..')与变量一起使用与在webpack中使用字符串相比
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- 我如何让这个 websocket 示例与 Flask 一起使用
- 如何在使用 Flask 后端时将图像和资产与 HTML 一起使用
- CSS不能与Flask一起工作