Socket.io客户端套接字不发出

时间:2015-02-12 19:33:00

标签: javascript node.js sockets

所以我运行一个简单的后端节点应用程序,socket.io与运行socket.io的客户端javascript通信。

我可以在客户端上接收消息(我控制台记录它们),但是没有收到我向服务器发送事件的回调函数。我想从我所研究过的内容中,可能会有一些我无法看到的默默失败的东西。

客户端代码:

socket.on('connection', function(socket) {
    socket.on('welcome', function(data) {
        socket.emit('new_state', { data: '1' });
        console.log(data);
    });

    socket.emit('new_state', {data: '1'});

    socket.on('time', function(data) {
        console.log(data);
        socket.emit('new_state', {});
    });

    socket.on('updated_state', function(data) {
        console.log(data);
    });
});

服务器端:

// Socket.io server listens to our app
var io = require('socket.io').listen(app);

// Send current time to all connected clients
function sendTime() {
    io.sockets.emit('time', { time: new Date().toJSON() });
}

// Send current time every 10 secs
setInterval(sendTime, 3000);

// Emit welcome message on connection
io.sockets.on('connection', function(socket) {
    socket.emit('welcome', { message: 'Welcome!' });
    console.log('connection received');

    io.sockets.on('i am client', function(data) {
        console.log(data);
    });

    io.sockets.on('new_state', function(data) {
        console.log('client->server emits');
        io.sockets.emit('updated_state', { state: [1,2,3,4] });
    });

});



app.listen(3000);

现在正在做的是app.js记录接收到的连接,但它从不记录或识别从客户端收到的任何事件。有什么想法吗?我真的认为我没有得到一些无声的错误。

1 个答案:

答案 0 :(得分:0)

在连接中使用回调套接字。名称空间是我的客户'永远不会从前端客户端发出,所以它什么都不做。在新州'服务器应该是。

socket.on('new_state', function(data) {
    console.log('From Client ' + data);
    socket.emit('updated_state', { state: [1,2,3,4] });
});