AJAX 在聊天应用程序中

AJAX in chat applications

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

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

所以我的问题是:AJAX 能否达到与 WebSockets 相同的目的,并且将 AJAX 用于聊天应用程序而不是 WebSockets?

没有将 websockets 用于聊天应用程序,实际上您可以使用多种技术。

AJAX: AJAX, 或长轮询可用于网络聊天,但被认为是一种原始且低效的获取更新聊天信息的方式.客户端监听服务器端的变化,然后当它得到服务器的响应时,它会发出另一个请求来监听请求。之所以被人看不起,是因为他们的客户端可能会监听很长时间,而服务器没有响应。

WebSockets: Websockets 是一种在 HTTP 上运行的协议,可促进双向数据传输。与 TCP websocket 协议类似,为了建立连接,涉及 3 次握手。 Socket.io 通过抽象大量原始 websocket 函数来帮助使用 websockets。事实是 Socket.io 实际上提供了与仅支持长轮询或 Flash 进行聊天通信的浏览器的向后兼容性。不像WebRTC,有一个中间人(服务器)来方便谁和谁聊天。

WebRTC: WebRTC 是一个免费的开放项目,它通过简单的 API 为浏览器和移动应用程序提供实时通信 (RTC) 功能。这些协议允许点对点通信(包括聊天),而无需使用中间人或服务器。要解决您的问题,"private-chats".

非常有用

Flash: 可以使用 Flash 通过网络进行聊天通信。这已经严重过时了,因为 Flash 正在慢慢从网络中消失。