作为Socket.io的替代,还有SockJS(https://github.com/sockjs/sockjs-client),它似乎比Socket.io更好地维护并且更稳定。

这个问题是关于对将SockJS与Web框架结合使用的体系结构的概念性理解,例如,用于构建聊天应用程序

我目前的理解是,您需要SockJS客户端和SocketJS服务器(在我的情况下,我打算使用SockJS-Tornado(https://github.com/MrJoes/sockjs-tornado))才能进行websocket样式的通信。

但是SockJS(SockJS客户端+ SockJS-Tornado)如何与完成其余工作的Web框架结合在一起(例如为页面提供服务,从db读写数据等)。例如,SockJS-Tornado组件将如何与框架的Web服务器通信?特别是,高度赞赏使用web2py(Python Web框架)执行此操作的任何方向。

最佳答案

没错,对于SockJS,您需要一个支持sockjs的服务器和一个浏览器中的javascript客户端库。

通常有两种集成模式,假设您要使用sockjs-tornado:

  • 您可能已从Tornado提供了所有站点。这样,将sockjs-tornado钩到某个路径,例如“http://mysite.com/sockjs”。在这种情况下,您的网站和sockjs都将从mysite.com域提供服务。
  • 您可以将网站保持在所编写的语言/框架中,并可以将sockjs-server作为另一个组件添加到另一个域下,例如。 “http://sockjs.mysite.com/sockjs”。

  • 另外,您可以使用此方法的任何变体-例如:内部有两台服务器,但是使用智能负载平衡器(如haproxy)将它们公开为一个域。

    关于websocket - 如何将SockJS与另一个Web框架集成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10436371/

    10-09 21:31