我们正在使用网络模块构建服务器,并且很难从请求中提取URL(和资源路径)。以下代码崩溃,说:
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');
});
有什么建议吗?
答案 0 :(得分:2)
您是否正在尝试构建HTTP服务器? net是一个TCP包,所以你得到的只是remoteAddress和remotePort,其余的将在数据处理程序上发送(它只是传递一个Buffer或一个字符串,具体取决于编码)。
使用HTTP模块,因为它为您完成所有解析。