2010-09-18 3 views

ответ

0

Событие не транслируется, но сообщение отправлено в назначенный компонент.

argument_object = { method:'post', onComplete: function() { self.end() } } 
dest_component.emit("event", argument_object); 
dest_component.on('event', function(argument_object){ 
    // 
} 

Архитектура событий слой

Во-первых, все начинается с веб носка клиент

var sock = io.listen() 

sock.on("connection", function(client) { 
    client.on("message", function(msg) { (msg='join') new Player(client) } 
    client.on("disconnect", function() { } 
} 

Каждый веб-носка, завернутые в плеер, ручка носка клиента Сообщ с событием испускают игрока верхнего слоя в ,

function Player(client) { 
    client.on("message", this.handleMsg.bind(this); 
} 

Player.prototype.handleMsg = function(event) { 
    this.emit('event', event, this); 
} 

Игра содержит набор игроков. Обработчик события игрока с использованием функции верхнего уровня.

Game = module.exports.Game = function() { } 

Game.prototype.add = function(player) { 
    player.on("event", this.notify.bind(this); 
} 

Game.prototype.notify = function(msg, eventsrc) { 
    for(var player in players) 
     player.send(encode(msg)); 
    } 
} 
0

Хорошо, я думаю, что событие не транслируется, это обратный вызов на определенном объекте.

Смежные вопросы