AJAX在聊天应用程序

当我了解如何在Node.js中创build聊天应用程序时,我发现推荐的方法是使用Socket.io和websockets。

我还读到,我们可以定期使用AJAX发送请求,并等待来自服务器的响应。

所以我的问题是:可以AJAX服务与WebSockets相同的目的,并使用AJAX的聊天应用程序,而不是WebSockets?

您不必在聊天应用程序中使用WebSockets,实际上可以使用各种各样的技术。

AJAX: AJAX或长轮询可用于networking聊天,但被认为是获取更新的聊天信息的原始和低效的方式。 客户端在服务器端侦听一个变化,然后当它从服务器得到一个响应时,它会发出另一个请求来侦听请求。 这是被低估的原因是因为他们的客户端可能正在倾听很长时间,没有服务器的响应。

WebSockets: Websockets是一个通过HTTP协议运行的协议,可以促进双向数据。 与TCP websocket协议类似,为了build立连接,还有一个三方握手。 Socket.io通过抽象很多原始websocket函数来协助使用websocket。 事实上,Socket.io实际上提供了向后兼容浏览器,只支持长轮询或Flash聊天通信。 与WebRTC不同,有一个中间人(服务器)来帮助谁与谁聊天。

WebRTC : WebRTC是一个免费,开放的项目,通过简单的API为浏览器和移动应用程序提供实时通信(RTC)function。 这些协议允许对等通信(包括聊天function)几乎不使用中间人或服务器。 为了解决你的问题,这对于“私人聊天”是很好的。

Flash:可以通过networking使用Flash进行聊天通信。 这是严重的过时,因为Flash正在慢慢地从网上死去。