broadcast命令行聊天室
来源:互联网 发布:windos无法连接到网络 编辑:程序博客网 时间:2024/06/04 01:00
var events = require('events');var net = require('net');var channel = new events.EventEmitter();channel.clients = [];channel.subscriptions = {};channel.setMaxListeners(1);channel.on('join',function(id,client){this.clients[id] = client;this.subscriptions[id] = function(senderId,message){if(id != senderId){let str = senderId+':\n'+message+'----------\n';this.clients[id].write(str);}}this.on('broadcast',this.subscriptions[id]);});channel.on('leave',function(id){channel.removeListener(('broadcast',this.subscriptions[id]));channel.emit('broadcast',id,id+'has left the chat.\n');});channel.on('shutdown',function(){channel.emit('broadcast','','chat has shut down.\n');channel.removeAllListeners('broadcast');})var server = net.createServer(function(client){var id = client.remoteAddress + ':' + client.remotePort;console.log('client connected:'+id)channel.emit('join',id,client);// client.on('connect',function(){// channel.emit('join',id,client);// });client.on('data',function(data){data = data.toString();if(data == 'shutdown\r\n'){channel.emit('shutdown');}channel.emit('broadcast',id,data);});client.on('close',function(){channel.emit('leave',id);})});server.listen(8888);
加入聊天室,bash键入
telnet localhost 8888阅读全文
0 0
- broadcast命令行聊天室
- 命令行聊天室
- java通信聊天室简单命令行版
- 简易命令行界面的C/S聊天室
- Broadcast
- Broadcast
- Broadcast
- Broadcast
- Broadcast
- Broadcast
- Broadcast
- broadcast
- Broadcast
- broadcast
- Broadcast
- Broadcast
- Broadcast
- BroadCast
- 源码剖析——ArrayList和LinkedList的区别
- 基础篇-你应该知道的BroadcastReceiver
- 1112. Stucked Keyboard (20) 坏键盘
- Windows下第一次使用Git传文件到自己的GitHub
- 【JavaScript实现Tab切换】
- broadcast命令行聊天室
- tow weeks vim(8)
- 数据库事务的四大特性以及事务的隔离级别
- VBA 声明 Option Explicit,让代码更规范
- 华为OJ——矩阵乘法计算量估算
- NOI2015 Day2 T1 荷马史诗(洛谷P2168)
- gulp构建sass开发环境
- mysql 开发规范
- Solr从myslq批量导入数据