如何在nodejs服务器上使用android socketio模块在两个人之间进行聊天?

如何在nodejs服务器上使用android socketio模块在两个人之间进行聊天?,android,node.js,websocket,socket.io,Android,Node.js,Websocket,Socket.io,我在node.js服务器上用android开发了一个聊天应用程序。我制作了一个简单的聊天应用程序。但是每个人都在同一个房间里。我只想在两个人之间聊天。我怎么做?我应该向服务器发送哪些信息?例如发送方名称、接收方名称、json格式的消息 -如何列出在线用户 -我怎样才能在两个人之间开始聊天呢 它的要求是什么?这可能有助于: 我建议为每个聊天室设置名称空间。我在自己的代码中做了类似的事情。注意:在socket.io本身中,文件室和名称空间彼此有点不同(socket.io两者都有:) 在服务器代码中:

我在node.js服务器上用android开发了一个聊天应用程序。我制作了一个简单的聊天应用程序。但是每个人都在同一个房间里。我只想在两个人之间聊天。我怎么做?我应该向服务器发送哪些信息?例如发送方名称、接收方名称、json格式的消息

-如何列出在线用户

-我怎样才能在两个人之间开始聊天呢

它的要求是什么?

这可能有助于:

我建议为每个聊天室设置名称空间。我在自己的代码中做了类似的事情。注意:在socket.io本身中,文件室和名称空间彼此有点不同(socket.io两者都有:)

在服务器代码中:

我在socket.on('connection')下有一个类似于的方法

socket.on('groupConnect', function(group){
    var groupNsp = io.of('/' + group);
}
这从本质上确保名称空间存在于所需名称下。当再次调用它时,它不会弄乱它或重置名称空间

然后,对于接收消息:

socket.on('message', function(data){
    var msg = data.msg;
    var nsp = data.nsp;
    io.of(nsp).emit('message', msg);
}
您还可以将nsp添加到已有的数据中,然后将数据再次发送到客户端

然后,在客户端代码中:

var socketOut = io.connect('http://yourdomain:1337/');
var someGroupOrMethodToGetGroup;
socketOut.emit('groupConnect', someGroupOrMethodToGetGroup);
var nsp;
setTimeout(function(){
    socket = io.connect('http://yourdomain:1377/' + someGroupOrMethodToGetGroup);
    socket.on('message', function(msg){
        displayMessage(msg);
    }
    nsp = '/' + someGroupOrMethodToGetGroup;
}, 1500);
然后在我的displayMessage代码中,我有:

socketOut.emit('message', { msg: desiredMessage, nsp: nsp });

从我的另一个答案()。

>我应该向服务器发送什么信息?-你觉得怎么样?>我只想在两个人之间聊天,然后就可以了,这个问题模棱两可。>-如何列出在线用户您在服务器上保留联机用户列表,并在需要时将其传递给客户端。如何保留联机用户列表?。现在我可以发送数据(发送者、消息),但可以在一个屏幕上与任何连接到服务器的人交谈。但我不想这样。当这不是仅有的两个人交谈时:为了实现完整的工作解决方案,您可以为希望聊天的每对用户设置名称空间,这似乎是您在OP中想要的。@OP这行吗?我已经快一个月没有收到回复了。