如何在build立在net模块上的node.js服务器中parsing请求

我们正在用net模块构build一个服务器,并且很难从请求中提取URL(和资源path)。 下面的代码崩溃,说:

Parameter 'url' must be a string not undefined. 

文件netServer.js

 var net = require('net'); var url = require('url'); var server = net.createServer(function(socket) { //'connection' listener socket.on('connect', function(request) { }); socket.on('data', function(request) { var pathname = url.parse(request.url).pathname; console.log("Request for " + pathname + " received."); }); socket.on('end', function() { }); }); server.listen(8080, function() { //'listening' listener console.log('server bound'); }); 

有什么build议么?

你想build立一个HTTP服务器? net是一个TCP包,所以你得到的是remoteAddress和remotePort,其余的将在数据处理程序(这只是通过一个缓冲区,或一个string,根据编码)发送。

为此,请使用HTTP模块,因为它为您完成所有的parsing。