使用 sockjs 支持多个私人频道

Posted

技术标签:

【中文标题】使用 sockjs 支持多个私人频道【英文标题】:Supporting multiple private channels with sockjs 【发布时间】:2014-07-16 08:11:34 【问题描述】:

我正在尝试制作一个支持两个人之间私人对话的多个实例的聊天应用程序。 (类似于facebook的消息系统)

我正在尝试使用 sockjs 来执行此操作,但我无法为每个用户 - 用户组合创建一个新的 sockjs 连接实例。

有什么工具可以帮助我解决这个问题吗?

我尝试过多路复用,但它似乎将通道实例分开,但仍然共享相同的连接。 (意思是,不同“频道”上的人仍然能够收到我的消息)

【问题讨论】:

【参考方案1】:

您可以使用 socket.io 的“房间”方法,这将使您拥有每个用户专用的“频道”。

io.on('connection', function(socket)
  socket.join(userID + '_room');
);

另一种选择是使用专用聊天服务器(http://prosody.im/、ejabberd 等等)。

【讨论】:

以上是关于使用 sockjs 支持多个私人频道的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Telethon 获取电报私人频道 ID

使用没有错误消息的私人频道时无法从推送者那里获得响应

Laravel 使用 Socket.io 广播到私人频道

Discord API / Restcord : 创建私人频道

使用推送器的存在/私人频道的不同身份验证方法

使用机器人从私人消息中自动创建角色和频道的问题