node.js用net模块搭建服务器

本文介绍如何从零开始配置并运行一个简易的HTTP服务器,通过创建配置文件和使用Node.js的net模块,实现基本的文件服务功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要配置这么多文件,直接用图表示吧

先写一个配置文件server.config

address=127.0.0.1        //服务器地址
port=12306               //端口
path=/web                //路径
path_position=relative   //路径的类型(相对或绝对)

再利用config.js模块将它处理后导出去

var fs = require("fs")

//加载配置文件
var config = fs.readFileSync("server.config")
var confs = config.toString().split("\r\n")

var globalConfig = {}

for(var i = 0; i < confs.length; i++){
    var temp = confs[i].split("=")
    if(temp.length < 2){
        continue
    }else{
        globalConfig[temp[0]] = temp[1]
    }
}

if(globalConfig["path_position"] == "relative"){
    globalConfig.basePath = __dirname + globalConfig.path
}else{
    globalConfig.basePath = globalConfig.path
}

module.exports = globalConfig

再创建一个服务器,server.js

var net = require('net')  //网络层和运输层  TCP/IP协议
var fs = require('fs')
var config = require("./config")
var server = net.createServer()

server.listen(config.port,config.address);


server.on('listening',function(){
    console.log('服务器启动')
})


server.on('connection',function(socket){
    socket.on('data',function(data){
        var url = data.toString().split("\r\n")[0].split(" ")[1]
        try{
            var dataFile = fs.readFileSync(config.basePath+url);
            socket.write("HTTP/1.1 200OK\r\n\r\n")
            socket.write(dataFile)
        }
        catch(e){
            socket.write("HTTP/1.1 404NotFound\r\n\r\n<html><body><h1>404</h1></body></html>")
        }
        socket.end()
    })
})

然后把项目放进web里,开启服务器就可以在浏览器访问了,虽然简单点,但是还是比较实用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值