服务器轮询的替代?

时间:2016-11-14 12:42:06

标签: javascript node.js javascript-events open-source mean-stack

众所周知,如果运行应用程序还管理主内存中的会话,那么服务器是否有办法向所有Web客户端/浏览器发送响应,以便在数据库中为新记录的数据发送。

记住:我没有向服务器发出任何请求或轮询到服务器以获取新记录更新..

让服务器在没有网络请求的情况下做出回复..

目标:  没有所有Web浏览器在每个特定时间间隔内向服务器发出请求或轮询,因此减少了应用程序内存的性能问题..

我只是反对从每个网络客户端进行如此多的ajax调用..

如果经历过相似的话,需要你过去的想法。

2 个答案:

答案 0 :(得分:1)

阅读websockets和socket.io。 基本上使用socket.io,您在浏览器(客户端)和服务器之间建立了连接,并且服务器可以发送客户端接收的数据作为事件。 客户端不需要发送获取该数据的请求,只需打开Web套接字连接。

您可以查看socket.io聊天示例:http://socket.io/get-started/chat/

答案 1 :(得分:0)

如果您不想轻松学习Angular或其他人,那么WebSocket是最好的解决方案。

服务器端和客户端都可以构建WebSocket,它可以作为来回传输数据的桥梁。

我刚刚为此创建了一个简单的解决方案。

请检查我的新库wsm - WebSocket Manager,它适用于服务器端和客户端。

Websocket Server可以轻松构建;该库包含几个有用的功能。