【问题标题】:Socket io rooms (MEAN stack)套接字 io 房间(MEAN 堆栈)
【发布时间】:2017-02-17 10:58:44
【问题描述】:

我正在构建一个基于 MEAN 堆栈的买卖网站。我打算使用socket.io。所以这就是我的网站的工作方式

  1. 用户将注册并登录
  2. 他们可以发布商品购买/出售
  3. 其他用户可以在帖子中提供(我将在此使用 socket.io,以便发布该项目的用户会收到通知)
  4. 发布者可以选择查看当前优惠,然后他们将选择接受谁。
  5. 一旦他们接受了提议,发布者和提议的用户都会有一个通信(聊天室)

所以当发帖人接受客户的报价后,它会打开一个聊天室供他们交流。所以这是我的问题,我将使用套接字 io 房间。一旦发布者接受了报价,他们两个都会加入房间(所以我会为他们生成一个房间并自动加入他们)然后这个房间将被保存到 MongoDB,然后他们发送的每条消息都会是保存到数据库中。这样即使他们退出,他们也可以看到他们的消息历史记录。

这是最好的方法吗?

  • 为他们俩创建一个房间(保存到 DB)
  • 每次相互发送消息时保存到数据库中
  • 在登录时查询数据库以获取用户加入的房间列表,以便他们可以看到他们拥有的消息

【问题讨论】:

  • 您使用了哪个平均堆栈,Meanjs.org 还是 Mean.io?无法决定使用哪个。

标签: node.js socket.io mean-stack


【解决方案1】:

这可能是最好的方法。这是一个类似的问题is there a good way to save socket.io message history,它显示了如何保存消息历史记录。

您不必保存消息,但如果您希望以后能够看到消息,则应将每条消息保存到数据库中。如果您不将每条消息都保存到数据库中,那么当您重新加载页面时,所有以前的消息都会消失。

如果您想要一个免费的数据库,mongoLab 将免费托管小型猫鼬数据库。 Here is a good tutorial 展示如何使用 mongoLab,它不使用 socket.io,但它可能很容易实现。

希望这会有所帮助!请随时在下面提出任何问题。

【讨论】:

  • 那么,每当我向聊天室发送消息时,始终保存到数据库是最佳做法吗?以及其他用户
  • 如果你想保存历史记录,是的。
猜你喜欢
  • 1970-01-01
  • 2017-03-15
  • 1970-01-01
  • 2016-01-12
  • 1970-01-01
  • 2017-09-20
  • 2014-05-09
  • 2017-11-09
  • 2014-06-04
相关资源
最近更新 更多