从 4.x 版本升级到 Flask-SocketIO 5.x
Socket.IO 协议最近引入了一系列向后不兼容的更改。Flask-SocketIO 的 5.x 版本采用了这些更改,因此它只能用于也已更新到当前协议版本的客户端。特别是,这意味着 JavaScript 客户端必须升级到 3.x 版本,如果你的客户端还没有升级到最新版本的 Socket.IO 协议,那么你必须使用 Flask-SocketIO 4.x释放。
以下协议更改很重要,因为它们可能会影响现有应用程序:
- 默认命名空间’/'不再自动连接,现在以与其他命名空间相同的方式处理。
- 每个命名空间连接都有自己的sid值,与其他命名空间连接不同,也与 Engine.IO 不同
sid
。 - Flask-SocketIO 现在使用与 JavaScript 参考实现相同的 ping 间隔和超时值,分别为 25 秒和 5 秒。
- ping pong机制已经颠倒过来了。在当前版本的协议中,服务器发出一个 ping,客户端用一个 pong 响应。
- 长轮询数据包的默认允许负载大小已从 100MB 降低到 1MB。
- 默认情况下,io cookie 不再发送到客户端。