socket.io

大象笔记 > 标签 > socket.io

python flask web 框架安装 socket.io 模块

想基于 python 的 socket.io 实现实时消息,及在线状态检测。 同时兼容 rasa 的 socket.io 版本。 确认 rasa 对应的 socket.io 版本 > conda list socketio (rasa) # packages in environment at ~/miniconda3/envs/rasa: # Name Version Build Channel python-socketio 5.8.0 pypi_0 ...

阅读全文...

python socket.io 客户端测试代码

为了测试基于 flask 实现的 socket.io server 端的功能,除了使用浏览器端 js 测试之外,我还想看看诸如 python,C# 这样的客户端的实现是否支持 flask 的 session 机制。即是否能够正常获取到 session id。 经过测试,server 端确实可以正常获取到 session id。 代码 import socketio # 创建 Socket.IO 客户端实例 sio = socketio.Client() # 当连接成功时的处理函数 @sio.event def connect(): print("Connected to ...

阅读全文...

flask socket.io 使用自定义 path 路径

默认路径 使用 flask socket.io 启动服务之后,默认的路径是: /socket.io 但是由于我把 rasa 和 flask socket.io 部署在同一个域名下, rasa 本身自带了一个 socket.io,所以我需要将 flask socket.io 在线上部署时, 更换一个路径,以做区分。 flask 端调整 通过 path 参数设置新路径 socketio = SocketIO(app, path="f_api_socket.io") 如果不设置 path 参数,就是默认的 socket.io。 浏览器 js 端调整 将原有的 var sock ...

阅读全文...

flask socket.io 生产环境部署

eventlet 由于 WSGI 不支持 WebSocket,所以需要引入 eventlet 来支持 WebSocket 协议。 (虽然 socket.io 也支持 http 协议,但是体验上会差很多。) eventlet is the best performant option, with support for long-polling and WebSocket transports 而在开发环境,如果没有安装 eventlet,默认使用的是 Werkzeug web server: In production mode the eventlet web server is us ...

阅读全文...