###websocket
它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。
###python websocket server实现
- socketio: flask_socketio
- 跨浏览器、跨平台,多种连接方式自动切换
- 功能完善,心跳检测,断线自动重连
- 使用方便,支持room和namespace;
- server和client必须配套使用,不能直接用原生WebSocket
- tornado_websocket
- 回掉方式,在异步化之后,并发处理能力应该不错,
- 因为是原生支持websocket而不像flask需要寻找第三方插件,所以可能更值得信赖
- dwebsocket
没有用过, github上star 100多,比较少
flask_socketio实现
1 | from flask import Flask, request, jsonify |
kong中配置支持socketio
目前kong版本 1.3, 使用kong-dashboard v2;
增加api转发 注意upstream_url填ip, 否则可能报502;
增加cors插件,origins=* , Credentials=true;
socketio客户端连接
1 | <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script> |