我正在尝试使用 deepstream.io 实现真正的聊天。在线许多教程确实处理用户之间共享的单个聊天室,但问题是,如果一个用户删除一条消息,那么它会在所有用户上删除。在普通的聊天应用程序中,每个用户都有自己的收件箱,当用户发布一条消息时,它会在发送者和接收者的收件箱中重复。
所以我想出了这个。
使用一个全局侦听器来侦听所有正在发送的消息,然后将这些消息写入数据库。这意味着我正在使用事件侦听器。这种方法的问题是扩展性,因为只有一个服务器一直在侦听和处理所有消息,更大的问题是如果服务器侦听关闭,这意味着消息不会被持久化。
使用深流列表和记录。这一个变得非常复杂,我必须使用两个列表?我的列表和收件人列表,订阅我的任何更改,当我写消息时,这意味着我必须向两个列表写入相同的消息。这也意味着,我必须在客户端访问两个收件箱,如果最后一条消息被更改,我也必须更新两条记录。所以我只允许在收件人列表上写,但不能删除,因为那个列表不是我的。我不知道这一点,但它会失败吗?
也许我缺少一些东西。有没有人使用 deepstream.io 成功实现了带有收件箱和私人消息的完整聊天应用程序?