对话:系统应支持用户之间的一对一和群组对话。
确认消息:系统应支持消息传递确认,如已发送、已送达、已读。
共享:系统应支持媒体文件的共享,例如图像、视频和音频。
聊天存储:系统必须支持用户离线时聊天消息的持久存储,直到消息成功传递。
推送通知:一旦离线用户的状态变为在线,系统应该能够向其通知新消息。
由于 HTTP 是客户端发起的,我们无法真正从服务器向接收者发送消息,因此我们需要考虑用于模拟服务器发起的连接的其他技术:轮询、长轮询和 WebSocket。
轮询:是客户端定期向服务器请求数据,产生大量请求,效率低下。
长轮询:服务器保持连接打开,直到有新数据可用,从而减少请求数量和延迟。
WebSocket:是一种双向通信协议,可通过单个长期连接实现客户端和服务器之间的实时通信,从而提供最低的延迟。它是从服务器向客户端发送异步更新的最常见解决方案。
点击空白处退出提示
评论