Node.js开启服务器


// 1.加载http核心模块
var http = require('http');

// 2.使用http.createServer()创建一个web服务器
var server = http.createServer();

// 3.服务器要做的事儿
// 提供服务:对数据服务
// 发请求
//    接收请求
//    处理请求
//    反馈(发送响应)
//    当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数:回调处理函数
server.on('request',function(req,res){
    console.log('收到客户的请求了');

//  可以查看访问客户的ip地址和对应的端口号等信息:
console.log('请求我服务的客户的ip地址是:',req.socket.remoteAddress);
console.log('请求我服务的客户的端口号是:',req.socket.remotePort);
})

// 4.绑定端口号,启动服务
server.listen(3000,function(){
    console.log('服务器启动成功,可以通过http://127.0.0.1:3000来进行访问');
})

 

 

这个服务器什么也不能做,只能在服务器上看到用户已经访问了,浏览器也一直处于等待服务器回复的状态

 

 服务器响应数据到浏览器(每次更新代码后需要重启服务器,ctrl+c关闭当前服务,然后重新开启)

// 1.加载http核心模块
var http = require('http');

var server = http.createServer();

// request 请求时间处理函数,需要接受两个参数:
// request 请求对象  可以用来获取客户端的一些请求信息,例如请求路径
// response 响应对象  可以用来给客户端发送响应消息

server.on('request',function(request,response){
    console.log('收到客户的请求了,请求路径是:'+request.url);
    // response 对象有一个方法write()可以用来给客户端发送响应数据
        // 需要注意的是响应回去的数据只能是字符串或者二进制数据,其他的如对象、数组等都不可以
    // write()方法可以使用多次,但最后一定要使用end()方法来结束响应,否则客户端会一直等待
    // response.write('hello');
    // response.write('  node');
    // response.end();
    
    // 可以直接在end()方法中写入需要传递回去的信息
    // response.end('hello node');
    
    // 当需要返回数组或者对象时,使用    JSON.stringify()进行转换
    var data = [
        {
            id:1,
            name:'张珊',
            age:23
        },
        {
            id:2,
            name:'李四',
            age:24
        },
        {
            id:3,
            name:'王五',
            age:25
        }
    ];
    response.end(JSON.stringify(data));

    
})

// 4.绑定端口号,启动服务
server.listen(3000,function(){
    console.log('服务器启动成功,可以通过http://127.0.0.1:3000来进行访问');
}) 

得到结果:

 

posted @ 2021-05-14 11:43  1/2的领土  阅读(377)  评论(0)    收藏  举报