node.js - 客户如何知道基于 Web 的聊天应用程序是否有新消息?
问题描述
我正在开发一个使用 NodeJS 作为后端并使用 MongoDB 的聊天应用程序。我设计了用于在每个客户端之间存储消息的数据库。但就在那时,我不知道如何通知客户端新消息。
如果客户端登录,客户端可以发送 API 请求以获取最新消息。但是,如果客户端保持登录状态,并且传递了针对该客户端的新消息,则服务器将它们记录在数据库中,但在请求它之前无法通知它(通过重新加载页面或其他方式)。这怎么可能实现?
我正在考虑不断轮询服务器以获取新消息,但这不会是很多请求吗?我希望可以有一些更好的方法来实现这一点。我对 Web 开发比较陌生,这是我的第一个项目。
解决方案
我认为您可以使用套接字 IO、XMPP 协议……用于实时 Web 客户端。 链接参考
推荐阅读
- python - 我的 Django 日志记录配置有什么问题?日志文件中看不到任何日志
- mongodb - MongoDB聚合很慢
- reactjs - 错误:最终加载程序没有返回缓冲区或字符串
- eclipse-plugin - 首次打开 MyDsl xtext 编辑器时出现 Guice 配置错误
- python - 如何将源代码添加到使用 sphinx 生成的 LaTeX 文档中
- javascript - 从对象构造函数之外的函数访问实例
- mysql - 选择过去 5 分钟内未选择的 1 行
- xml - 在根元素中添加命名空间以用于子元素的属性
- c# - 异步和等待总是返回“等待完成”
- javascript - EditableGrid - 如何使每个列标题成为单独的过滤器