Nodejs发送给特定用户

时间:2016-03-06 04:56:59

标签: node.js socket.io

我已经在这里阅读了类似的帖子,但它并没有帮助我。

无论如何,我使用的是v0.10.37。

服务器代码

var http = require('http');
var io = require('socket.io');

server = http.createServer(function(req, res){});
server.listen(8082);

// socket.io
var socket = io.listen(server);
var clients = {};


socket.on('connection', function(client)
{

    client.on('setUserId',function(userid)
    {
        clients[userid[0]] = userid[1];
        console.log(clients);
    });

    client.on('message', function(msg)
    {

        if (msg.indexOf("notifications") != -1)
        {
            userid = msg.replace("notifications","");
            sessionid = clients[userid];
            //socket.clients[sessionid].send(msg);
        }

        else
        {
            console.log(msg);
            socket.send(msg);
        }
    })
}); 

带有

的注释行
socket.clients[sessionid].send(msg);

是问题所在。我不知道用于发送特定sessionid的函数。 sessionid有效,使用console.log进行测试。

1 个答案:

答案 0 :(得分:-1)

尝试使用socket.emit。 另请参阅socket.io文档。

链接: http://devdocs.io/socketio/