Я ноб из node.js, и я следую примерам в «Node.js в действии». У меня есть вопрос о одном примере: Следующий код реализует простой сервер чата через telnet. Когда я пишу сообщение, сценарий должен отправлять сообщение всем подключенным клиентом.node.js eventListener не прослушивать
var events = require('events');
var net = require('net');
var channel = new events.EventEmitter();
channel.clients = {};
channel.subscriptions = {};
channel.on('join',function(id,client){
this.clients[id] = client;
this.subscriptions[id] = function(senderId,message){
if(id != senderId){
this.clients[id].write(message);
}
};
this.on('broadcast',this.subscriptions);
});
var server = net.createServer(function(client){
var id = client.remoteAddress+':'+client.remotePort;
client.on('connect',function(){
channel.emit('join',id,client);
});
client.on('data',function(data){
data = data.toString();
channel.emit('broadcast',id,data);
});
});
server.listen(8888);
Но когда я пытаюсь подключиться через telnet и отправить сообщение, он не работает. Thanks
Что вы ожидаете 'this.on ('broadcast', this.subscriptions),' делать? –
Я ожидал, что когда кто-то отправит сообщение, каждый подключенный клиент получит его. Но я пытаюсь поставить console.log внутри событий соединения и данных, но так и не пришел. –