Node.js实现简单聊天服务器
网络编程
使用Nodejs是如此简单的实现了一个简单的聊天服务器
实现代码如下:
var net = require('net');
var chatServer = net.createServer(),clientList = [];
chatServer.on("connection",function(client){
client.name = client.remoteAddress + ":" + client.remotePort;
client.write("Hi! "+client.name+" n");
clientList.push(client);
client.on("data",function(data){
//数据发送给客户端
broadcast(data,client);
// clientList[i].write(data);
});
client.on("end",function(){
clientList.splice(clientList.indexOf(client),1);
});
client.on("error",function(e){
console.log(e)
});
});
chatServer.listen(9000)
function broadcast(message,client){
var cleanup = [];
for(var i=0;i<clientList.length;i++){
if(client != clientList[i]){
if(clientList[i].writable){
clientList[i].write(client.name = "says:"+message);
}else{
cleanup.push[clientList[i]];
clientList[i].destory();
}
}
}
}
使用过程就是:
启动js
node chat.js
连接方式:telnet
telnet 127.0.0.1 9000
Nodejs中自定义事件实例
其实就是继承events的EventEmitter就可以了,然后就可以通过on去注册事件;emit去触发事件,removeListener去移除事件,简单例子如下:varutil=require('util');varEt=
Node.js中require的工作原理浅析
几乎所有的Node.js开发人员可以告诉你`require()`函数做什么,但我们又有多少人真正知道它是如何工作的?我们每天都使用它来加载库和模块,但它的行
搭建pomelo 开发环境
开发前提条件:Windows系统,请确保你的Windows系统包含源码编译工具。Node.js的源码主要由C++代码和JavaScript代码构成,但是却用gyp工具来做源码的项目管
编辑:568数据
标签:事件,源码,代码,简单,工具