Node.js TCP服务端

来源:互联网 发布:类似prisma的软件 编辑:程序博客网 时间:2024/05/14 10:00

node.js的TCP编程使用的是net模块。这个模块是node自带的,不需要任何第三方库。它的server端编程核心对象是Server对象。
Server对象要正常工作,有两个属性必不可少。
1 监听端口
2 connection事件处理函数
这个对象只能通过调用net.createServer()创建。这个createServer方法可以传入事件处理函数对象。可以传空,然后调用Server对象的on方法来设置事件处理对象。
所以说代码有两种写法:

// 1net.createServer().listen(80).on('connection',func);// 2net.createServer(func).listen(80);

重点在于这个事件处理函数。这个事件处理函数有个Socket对象参数,其核心的事件有data、error和end事件。一般情况下只需要用到data和error事件。
通过例子,才能更好地掌握知识,我现在做一个类似于nginx的HTTP服务器。

var net= require('net');var func = function(sock){    sock.on('data',function(data){        sock.write('HTTP/1.1 200 OK\n'+        'Date: Sat, 31 Dec 2005 23:59:59 GMT\n'+        'Content-Type: text/html;charset=ISO-8859-1\n'+        'Content-Length: 12\n\n'+        'Hello,world!');    });};net.createServer(func).listen(80);

短短几行代码,一个简单的HTTP服务器就做完了。

原创粉丝点击