javascript - node 搭设的事件发射器,出现了问题,代码如下,我认为是这一部份的问题请大神看看
大家讲道理
大家讲道理 2017-04-11 11:54:16
[JavaScript讨论组]
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 时并不能接收对方发出的消息。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号