在node + express中保持套接字打开

时间:2014-04-09 15:05:41

标签: node.js express socket.io

我使用nodejs,express& amp;进行多页面的web应用程序socket.io。其中一项功能是推送通知。这意味着socket.io应该在每个页面上运行。在每个页面加载时连接到socket.io会花费大量时间,这会减慢应用程序的速度。

有没有办法保持与套接字的连接打开?

一种方法是使用ajax在我的根页面内呈现不同的页面,但我认为这会使应用程序复杂化。

有没有更好的方法来实现这个?

1 个答案:

答案 0 :(得分:0)

您确定以正确的方式处理客户端吗?

如果您有单页应用程序,浏览器几乎不会完全重新加载页面。你应该使用一些客户端框架来处理SPA机制(路由,模板等),如angularjs / backbone / ember / etc ......

使用格式良好的SPA,您只需加载一次应用程序,只要打开浏览器选项卡,它就会保持活动状态而不会重新加载页面。因此,weboscket也只会创建一次。你不应该有这种问题,你的服务器端代码没问题,只是你在客户端做错了。

顺便说一句,如果你只想处理推送数据,你应该看一下Server Sent Events,它比socket.io这样的全双工实现更简单/更轻(这有点像重)

相关问题