在featherjs聊天客户端中显示频道名称

时间:2018-01-05 22:08:28

标签: javascript express socket.io feathersjs

我正在关注此repo来构建聊天应用程序。 我试图在聊天客户端中显示频道名称(用户登录的默认房间)。

有没有办法从

访问频道信息
removeChild(blokAchtergrond);
removeChild(tekstInBlok);
file

中的

1 个答案:

答案 0 :(得分:0)

不,我不相信。通道是服务器端构建在套接字之上的构造。每个客户端都是一个接收和发送数据到服务器的套接字。在服务器上,套接字/客户端可以组合成一个通道,以便您可以轻松地向许多客户端广播,例如:

app.channel('authenticated').send({
    warning: "Perimeter has been breached"
  });

根据我的理解,您正在尝试与a.k.a频道的多个房间进行聊天。为了做到这一点,首先需要实现加入特定频道的能力,这可以通过在服务器上创建多个频道来完成,请看一下:https://docs.feathersjs.com/api/channels.html#example

你在src / channels.js中的

const { user } = connection;
if (user.room == 'yoyo') {
  app.channel('yoyo').join(connection);
}

然后我建议将房间存放在用户对象中。 在客户端,当用户注册时,你可以做一些这样的事情(app.js,第19行):

await client.service('users').create(Object.assign({ room: 'yoyo' }, credentials));

您可以从注册表单或路径中获取要加入的空间。