var events = require('events');
var net = require('net');
var channel = new events.EventEmitter();
channel.clients = {};
channel.subscriptions = {};
channel.on('join',function(id,client){ //on 方法本身就有遍历的功能
this.clients[id] = client;
**this.subscriptions[id] = function(senderId,message){
if(id != senderId){ //除了自己以外的都发送
this.clients[id].write(message);
}**
//我认为是这里的问题!!
}
this.on('broadcast',this.subscriptions[id]);
var welcome = 'welcome!\n' + this.listeners('broadcast').length;
client.write(welcome);
});
var sever = net.createServer(function(client){
var id = client.remoteAddress + ':' + client.remorePort;
channel.emit('join',id,client);
client.on('data',function(data){
data = data.toString();
channel.emit('broadcast',id,data);
});
console.log('connect!');
});
sever.listen(8888);
请大神看看
当我运行两个cmd 时并不能接收对方发出的消息。