“Emit”和“On”套接字IO,Node.js

时间:2014-06-16 18:50:12

标签: javascript node.js sockets

我刚刚开始试用node.js,很可能我错了所以请耐心等待我:)

根据我的理解,emit函数发出一个自定义事件,然后选择事件,然后做一些事情。

以下是我从中学习的书中的一些代码。

socket.on('rooms', function(rooms) {
    console.log("room received");
    $('#room-list').empty();
    for(var room in rooms) {
        room = room.substring(1, room.length);
        if (room != '') {
            $('#room-list').append(divEscapedContentElement(room));
        }
    }
    $('#room-list div').click(function() {
        chatApp.processCommand('/join ' + $(this).text());
        $('#send-message').focus();
    });
});

setInterval(function() {
    socket.emit('rooms');
    console.log("room emitted");
}, 1000);

正在记录"房间排放"然而,在控制台的每一秒,它都没有记录"收到房间"

这表明它应该发出房间事件,并且on函数应该拾起它。但由于某种原因,它不是。

有什么我做错了吗?

1 个答案:

答案 0 :(得分:1)

socket.emit()将信息从服务器发送到客户端。

socket.on()接收从客户端发送到服务器的信息。

除非服务器作为客户端连接到自身,否则您无法从服务器向服务器发出消息。

希望这很有帮助。