我一直在使用Node.js编程,并研究如何使用socket.io和Ajax调用Node服务器。socket.io是否设计用来取代Ajax? 我想知道在什么情况下使用socket.io更好,而Ajax则更适合。感谢您的回答。
Web sockets (通过socket.io) 能提供而ajax缺少的主要功能之一是服务器推送。因此,如果您使用ajax想了解服务器上的新事件(例如,不同的用户向您发送了消息),则需要进行服务器轮询,也就是在相对频繁的周期循环中发送ajax请求。大多数时候,服务器会响应说没有新内容,但偶尔有新的内容时,客户端可以得知。
Web sockets允许服务器主动向客户端推送通知,而无需轮询。因此,如果您的应用程序有任何需要在服务器上启动并在浏览器中显示的信息,则web sockets是更好的解决方案。