初学node.js-nodejs中实现HTTP服务(3)
一、node.js实现服务端
创建hello-world-server.js文件,服务端源码如下:
/**
* node.js实现http服务端
*/
var http = require('http');
var fs=require('fs');
var url=require('url');
var root_dir='html/';//html文件默认根目录
//server服务
http.createserver(function (req, res) {
var urlobj=url.parse(req.url,true,false);
fs.readfile(root_dir+urlobj.pathname,function(err,data){
//失败
if(err){
res.writehead(404);
res.end(json.stringify(err));
return;
}
//成功
res.writehead(200);
res.end(data);
});
}).listen(1337, '127.0.0.1');//端口+ip
console.log('server running at http://127.0.0.1:1337/');
二、node.js实现客户端,客户端源码如下:
/**
* node.js实现http客户端
*/
var http=require('http');
var options={
hostname:'127.0.0.1',
port:'1337',
path:'/hello.html'
};
//response函数实现
function handleresponse(response){
var serverdata='';
response.on('data',function(chunk){
serverdata+=chunk;
});
response.on('end',function(){
console.log(serverdata);
});
}
//request请求调用
http.request(options,function(response){
handleresponse(response);
}).end();
三、项目中创建html文件夹文件夹中创建hello.html, hello.html文件内容如下
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>insert title here</title>
</head>
<body>
<h1>hello world</h1>
</body>
</html>
四、
(1)先运行服务端hello-world-server.js结果如下
(2)在运行客户端hello-world-client.js,结果如下
(3)浏览器访问hello.html文件,访问地址:http://127.0.0.1:1337/hello.html,结果如下