在客户端从服务器端调用函数(Node.js)

时间:2013-10-15 19:22:40

标签: javascript node.js socket.io client

我在服务器上有以下代码:

var game = io.listen(app);

game.sockets.on('connection', function(socket){
    storePlayers(socket.id);
    //Only the player the connects gets this message
    socket.emit('firstTime', {message: 'Welcome!'});

    //If a player disconnects, a message will be sent to all the sockets.
    socket.on('disconnect', function(){
        game.sockets.emit('exit', {message: 'Player ' + socket.id + ' left the game...!'});
    });

    //When a player connects, all the players will get this message.
    game.sockets.emit('entrance', {message: 'Player ' + socket.id + ' is online'});
});

我希望获得storePlayers(id)功能。这是因为当套接字连接时,应该在客户端使用特定的socket.id创建一个对象。

我将如何做这样的事情?

1 个答案:

答案 0 :(得分:1)

根据我的理解,您希望客户端在连接到您的服务器时发送id。您可以通过在客户端连接到您的服务器后发送消息来实现此目的。

客户端

var socket = io.connect('your_server')    
socket.on('connect', function () {
        clientId = generate_id(); //however you want to generate the id
        socket.emit('newUser', {id: clientId});
    }

然后,您可以在服务器上捕获消息“newUser”并检索已连接客户端的ID。