我刚刚开始试用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函数应该拾起它。但由于某种原因,它不是。
有什么我做错了吗?
答案 0 :(得分:1)
socket.emit()
将信息从服务器发送到客户端。
socket.on()
接收从客户端发送到服务器的信息。
除非服务器作为客户端连接到自身,否则您无法从服务器向服务器发出消息。
希望这很有帮助。