NodeJS通过SocketID回复连接的用户

时间:2015-02-23 20:03:13

标签: node.js

在下面这个简单的代码我想在nodeJs上获取连接用户之后尝试我可以在从android设备发送pm之后回复任何消息,在此代码中如何通过套接字为连接的用户发送消息?

var io  = require('socket.io');  
var server = io.listen(4732);

var android_socket   = undefined;

server.sockets.on('connection', function(socket) {  
    socket.on('user', function(data) {

        if (data.type == "client")
            //saving socket
            android_socket = socket;
        }

    });

    socket.on("pm", function(data) {
        /* Reply message to android_socket */          
    });
});

console.log('server is connected...');

1 个答案:

答案 0 :(得分:2)

您可以简单emit将事件发送到收到pm事件的同一个套接字:

socket.on("pm", function(data) {
    /* send reply event */
    socket.emit('foo', {data: 123});
});

该套接字附加到Android客户端。

无需存储任何android_socket引用。事实上,你的方法(存储单个套接字引用)无论如何都不会正常工作,因为可能会同时打开多个android套接字连接。