NodeJS如何在networking模块中实现请求/响应

我是NodeJS的新手,正在使用“net”模块的项目。 我的问题是我们可以使用'networking'模块实现请求,响应模型,我们可以在HTTP模块中实现,也就是说,当用户在浏览器中inputlocalhost:端口号时,我可以向浏览器发送响应。 我可以使用HTTP实现相同的function,但无法理解“Net”“HTTP”模块之间的基本区别:

我的“networking”模块代码是:

var net = require('net'); var server = net.createServer(function (con) { con.on('data', function (data) { <some code> }); con.on('end', function () { console.log('nodeServer disconnected'); }); }); server.listen(8888, function () { console.log('nodeServer listening port:8888'); }); 

以下是“HTTP”模块代码:

 var http = require("http"); var fs = require("fs"); http.createServer(function(req, res){ res.writeHead(200, { 'Content-Type': 'application/json', "Access-Control-Allow-Origin":"*" }); var obj = JSON.parse(fs.readFileSync('test', 'utf8')); res.write(JSON.stringify(obj, null, 4)); res.end(); }).listen(8888); 

我想要在Net模块中实现此目的的原因是,我正在从一个固定的时间间隔,我需要转换为JSON并返回JSON的用户请求时,从一个url获取一些XML。

你可以看看这个postnodejs – net或http模块

它指出http是build立在networking之上的

虽然我看不到在NodeJS文档页面上

http://nodejs.org/api/net.html

http://nodejs.org/api/http.html

基本上,当你需要做比http模块允许的更低级别的事情时,使用net模块。

http :将请求响应对象中的所有内容都包装在一起,以便与之交互。

:给你的TCP套接字本身为你做任何你想要的。

@ neil-shah确实http是基于networking ,你可以在这里看到: https : //github.com/nodejs/node/blob/master/lib/_http_server.js#L4