【问题标题】:How to fixed socket id for client socket.io如何为客户端 socket.io 固定套接字 ID
【发布时间】:2016-06-21 23:59:43
【问题描述】:

我正在使用 socket.ionode.js 在 android 中开发一个聊天应用程序。每次新连接时,客户端的 socket id 都会更改。因此,要向特定用户发送消息,我需要另一个强制性选项,例如使用电子邮件或电话号码进行用户注册。我在 MySQL 数据库中为新客户保留 emailsocket idstatus(在线/离线)& 仅在注册用户再次登录时更新socket id

对于消息,我存储所有消息并在他/她使用新的套接字 ID 登录时将它们发送给接收者。

我的问题:

  1. 是否有任何选项可以修复客户端的socket id
  2. 有了上面的解释,对于一个简单的聊天应用,我是否走在正确的方向?

【问题讨论】:

    标签: android node.js socket.io


    【解决方案1】:

    我处理这个问题的方式是每次用户连接时,我将它们添加到对象并将他们的用户名保存为键并将套接字本身保存为值。例如:

    var connectedUsers = {};
    io.on('connection', function(socket){
        connectedUsers[username] = socket;
    });
    

    那么你总是可以像这样获取他们的套接字 ID

    var id = connectedUsers[username].id;
    

    【讨论】:

      猜你喜欢
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-02
      • 2011-12-03
      • 2011-05-04
      • 1970-01-01
      相关资源
      最近更新 更多