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工具来做源码的项目管
编辑:一起学习网
标签:事件,源码,代码,简单,工具