当我阅读有关如何在 Node.js 中创建聊天应用程序时,我发现推荐的方法是使用 Socket.io 和 websockets。
我还了解到我们可以定期使用 AJAX 发送请求并等待服务器的响应。
所以我的问题是:AJAX 是否可以实现与 WebSocket 相同的目的,并将 AJAX 用于聊天应用程序而不是 WebSocket?
您不必将websockets 用于聊天应用程序,实际上有多种技术可以使用。
阿贾克斯: AJAX 或长轮询可用于网络聊天,但被认为是获取更新聊天信息的原始且低效的方式。客户端侦听服务器端的更改,然后当它收到服务器的响应时,它会发出另一个请求来侦听请求。之所以被轻视,是因为它们的客户端可能会监听很长时间,而服务器却没有响应。
WebSockets: Websockets 是一种通过 HTTP 运行的协议,有助于双向数据传输。与 TCP websocket 协议类似,建立连接需要 3 次握手。Socket.io通过抽象许多原始的 websocket 函数来帮助使用 websocket。事实上,Socket.io 实际上提供了对仅支持长轮询或 Flash 聊天通信的浏览器的向后兼容性。与 WebRTC 不同,有一个中间人(服务器)来方便谁与谁聊天。
WebRTC: WebRTC 是一个免费、开放的项目,它通过简单的 API 为浏览器和移动应用程序提供实时通信 (RTC) 功能。这些协议允许点对点通信(包括聊天),而无需使用中间人或服务器。为了解决您的问题,“私人聊天”非常有用。
Flash:可以使用 Flash 通过网络进行聊天通信。这已经严重过时了,因为 Flash 正在慢慢从网络中消亡。
| 归档时间: |
|
| 查看次数: |
1167 次 |
| 最近记录: |