如何使用sockjs建立私人聊天室?

我正在尝试创建一个聊天系统,其中一次只有两个用户能够互相交谈(非常类似于facebook的聊天)

我尝试使用mongoDB的_id作为名称进行多路复用,因此每个通道都是唯一的。

我面临的问题是我无法将消息定向到单个客户端连接。

这是首先发送消息的客户端代码

$scope.sendMessage = function() {
  specificChannel.send(message)
  $scope.messageText = '';
};

这是服务器端接收消息

specificChannel.on('connection', function (conn) {
  conn.on('data', function(message){
    conn.write('message') 
  }
}

当我向任何频道发送消息时,每个频道仍会收到该消息。

如何使每个客户端仅侦听发送到特定频道的消息?

德米特里·奥古尔佐夫(Dmitry Ogurtsov)

看来SockJS不支持“私人”频道。对于类似的问题,我使用了以下解决方案:

var channel_id = 'my-very-private-channel'
var connection = new SockJS('/pubsub', '')

connection.onopen = function(){
    connection.send({'method': 'set-channel', 'data': {'channel': channel_id}})
}

后端解决方案针对每个技术堆栈,因此在这里我不能给出通用解决方案。总体思路如下:

1)解析“ on_message”函数中的消息以查找请求的“方法名称”

2)如果方法是“ set-channel”->将“ self.channel”设置为此值

3)向具有相同频道的订户广播更多消息(我正在使用Redis,但这也取决于您的平台)

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用sockjs建立私人聊天室?

来自分类Dev

如何使用Quickblox聊天室进行1:1聊天?

来自分类Dev

使用Javascript,AJAX,PHP,MySql建立公共聊天室的问题

来自分类Dev

如何在Node JS中使用ws(Websocket)包创建/加入聊天室

来自分类Dev

如何使用nodejs和socket.io在聊天室中验证密码功能

来自分类Dev

如何在AppleScript中使用javascript返回聊天室中的用户列表

来自分类Dev

聊天室成员列表

来自分类Dev

如何通过Rest API在ejabberd中创建聊天室?

来自分类Dev

如何在聊天室中添加表情符号?

来自分类Dev

如何在聊天室中添加表情符号?

来自分类Dev

如何通过Rest API在ejabberd中创建聊天室?

来自分类Dev

支持多个虚拟聊天室(例如,使用NServiceBus)

来自分类Dev

linphone在聊天室中使用SIP消息发送消息

来自分类Dev

无法使用asmack获得已加入的聊天室

来自分类Dev

使用API打开聊天室-Scringo Android

来自分类Dev

可扩展的聊天室使用(playframework akka和websocket)

来自分类Dev

NodeJS使用setInterval作为聊天室计时器

来自分类Dev

使用 Firebase 将用户转发到特定聊天室

来自分类Dev

如何使用smack-android:4.1.4在多用户聊天室中取消禁止用户

来自分类Dev

如何使用套接字IO检查有多少参与者连接到我的聊天室

来自分类Dev

如何使用smack向多用户聊天室的所有参与者发送消息

来自分类Dev

AJAX,jQuery,用于聊天室的javascript

来自分类Dev

Akka Java TCP聊天室

来自分类Dev

Lync UCWA是否支持聊天室?

来自分类Dev

Android quickblox如果用户不在聊天室中如何接收消息

来自分类Dev

XMPPFarmework如何在iOS中获取XMPP聊天室列表?

来自分类Dev

PHP MYSQL:如何根据忽略列表显示聊天室消息

来自分类Dev

如何在一个 CollectionViewController 中查看我的所有聊天室?

来自分类Dev

如何最好地检索网络版 Firebase 中给定聊天室的所有评论?

Related 相关文章

  1. 1

    如何使用sockjs建立私人聊天室?

  2. 2

    如何使用Quickblox聊天室进行1:1聊天?

  3. 3

    使用Javascript,AJAX,PHP,MySql建立公共聊天室的问题

  4. 4

    如何在Node JS中使用ws(Websocket)包创建/加入聊天室

  5. 5

    如何使用nodejs和socket.io在聊天室中验证密码功能

  6. 6

    如何在AppleScript中使用javascript返回聊天室中的用户列表

  7. 7

    聊天室成员列表

  8. 8

    如何通过Rest API在ejabberd中创建聊天室?

  9. 9

    如何在聊天室中添加表情符号?

  10. 10

    如何在聊天室中添加表情符号?

  11. 11

    如何通过Rest API在ejabberd中创建聊天室?

  12. 12

    支持多个虚拟聊天室(例如,使用NServiceBus)

  13. 13

    linphone在聊天室中使用SIP消息发送消息

  14. 14

    无法使用asmack获得已加入的聊天室

  15. 15

    使用API打开聊天室-Scringo Android

  16. 16

    可扩展的聊天室使用(playframework akka和websocket)

  17. 17

    NodeJS使用setInterval作为聊天室计时器

  18. 18

    使用 Firebase 将用户转发到特定聊天室

  19. 19

    如何使用smack-android:4.1.4在多用户聊天室中取消禁止用户

  20. 20

    如何使用套接字IO检查有多少参与者连接到我的聊天室

  21. 21

    如何使用smack向多用户聊天室的所有参与者发送消息

  22. 22

    AJAX,jQuery,用于聊天室的javascript

  23. 23

    Akka Java TCP聊天室

  24. 24

    Lync UCWA是否支持聊天室?

  25. 25

    Android quickblox如果用户不在聊天室中如何接收消息

  26. 26

    XMPPFarmework如何在iOS中获取XMPP聊天室列表?

  27. 27

    PHP MYSQL:如何根据忽略列表显示聊天室消息

  28. 28

    如何在一个 CollectionViewController 中查看我的所有聊天室?

  29. 29

    如何最好地检索网络版 Firebase 中给定聊天室的所有评论?

热门标签

归档