使用Gevent/Tornado和Flask的Socket.io处理程序

2 投票
1 回答
2760 浏览
提问于 2025-04-17 02:57

有没有人能给我举个例子,教我怎么处理一个通用的 socket.io 连接?这个连接会根据客户端的浏览器不同,可能会用到 websockets 或者 xhr-longpolling 等等。我想用 gevent 和 flask 来实现,或者用 flask 搭配 tornado 作为一个异步服务器。谢谢!

1 个回答

3

TornadIO 和 socket.io 的稳定版本(0.6)配合得很好,它可以作为一个普通的请求处理器,轻松集成到任何使用 Tornado 的应用中。它是通过一个类来处理 socket 事件的回调,运行得相当稳定。

不过,我建议不要使用提供的 SocketServer 类,而是正确配置 Tornado 的普通 HTTPServer。你可以看看 SocketServer 的实现,作为参考。

撰写回答