如何修复客户端socket.io

时间:2016-06-20 04:07:02

标签: android node.js socket.io

我正在使用 socket.io &amp ;;在android中开发一个聊天应用程序。 node.js 。每次进行新连接时,客户端的套接字ID 都会发生变化。因此,要向特定用户发送消息,我需要另一个强制选项,例如用户注册电子邮件或电话号码。我在 MySQL 数据库中保留电子邮件套接字ID 状态(在线/离线)以获取新客户端&当注册用户再次登录时,更新套接字ID

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

我的问题:

  1. 客户端是否有修复 套接字ID 的选项?
  2. 根据上述说明,我是否正朝着正确的方向走一条简单的聊天应用程序?

1 个答案:

答案 0 :(得分:0)

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

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

然后你总是可以抓住他们的套接字ID

var id = connectedUsers[username].id;