【问题标题】:How to build Slack clone using socket.io如何使用 socket.io 构建 Slack 克隆
【发布时间】:2022-02-13 20:24:59
【问题描述】:

我们正在构建一个 slack 克隆,其中可能有许多组织,每个组织都有多个房间或通道,如 slack。

我有 2-3 个 mongo 模型来保存消息:

model conversations{
    id: Int
    participants:[userIds]
    date:Date
    lastMessage:Message
}


model message {
    id:Int
    body:String
    conversationId: Conversation
    date:Date
}

model User {
   id:Int
   name:Sting
   organisationId:Organisation
}

model Organisation {
  id:Int
  name:String
}

每个组织可以有很多房间/频道,用户可以在那个房间/频道中。

我正在考虑为每个组织使用new socket.io namespace。每个命名空间都使用socket.io rooms 作为频道,用户可以在其中订阅房间并进行交流

我不确定客户端如何为每个组织创建命名空间,每个命名空间如何创建房间,因为socket.io 客户端没有房间概念。

我只希望有人可以帮助我了解如何在客户端和服务器端的套接字中实现命名空间和房间。

我知道如何监听事件和发送事件,但不知道如何去做。

【问题讨论】:

    标签: node.js socket.io chat slack


    【解决方案1】:

    我记得我用 socket.io 做了一个在线游戏。 流程很简单,一些用户能够创建自己的房间,其中一些用户能够加入他们的房间。 我认为你应该使用这种方法。通过组织或用户创建频道,您应该开始收听房间。 命名空间应该是房间的名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多