作为 Socket.io 的替代品,有 SockJS(https://github.com/sockjs/sockjs-client),它似乎比 Socket.io 维护得更好,更稳定。
这个问题是关于将 SockJS 与 Web 框架一起使用的架构的概念性理解,例如,用于构建聊天应用程序
我目前的理解是,您需要 SockJS 客户端和 SocketJS 服务器(在我的情况下,我打算使用 SockJS-Tornado ( https://github.com/MrJoes/sockjs-tornado ))才能进行 websockets 风格的通信。
但是 SockJS(SockJS-client + SockJS-Tornado)如何与一个 Web 框架结合在一起,完成其余的工作(例如,为页面提供服务,向/从数据库写入/读取等)。例如,SockJS-Tornado 组件将如何与框架的 Web 服务器通信?特别是,使用 web2py(一个 Python Web 框架)执行此操作的任何方向都受到高度赞赏。
最佳答案
你是对的,对于 SockJS,你需要一个支持 sockjs 的服务器和一个浏览器内的 javascript 客户端库。
通常有两种集成模式,假设您要使用 sockjs-tornado:
此外,您可以使用此的任何变体 - 例如:在内部拥有两台服务器,但通过使用智能负载平衡器(如 haproxy)将它们作为一个域公开。
关于websocket - 如何将 SockJS 与另一个 Web 框架集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10436371/