我正在使用 Node.js 的 Socket.IO 创建一个聊天应用程序,有一些事情我需要澄清。
我正在我的应用程序中实现离线消息传递,这意味着当用户打开应用程序时,他将收到他在线时错过的所有消息。
这是我的方法:
这是正确的做法吗?
我在网上查找,有些人建议使用任务/消息队列,例如 Google App Engines 任务队列,但我不确定这是如何工作的。
你的方法听起来不错,但我不会从数据库中删除消息,至少不会在客户端收到消息后立即删除。
从您的问题看来,您当前没有将消息保存到数据库中。 这种方法有一些缺点;例如,发送某些消息时,用户无法在未连接的设备上查看聊天记录。
我可以想到两种方法以更优雅的方式做到这一点:
HTTP
或 WebSockets
来实现。我认为第一种方法更适合一般用例,但这取决于您的用例。