node.js的http板块实例演示

作者 : 开心源码 本文共1692个字,预计阅读时间需要5分钟 发布时间: 2022-05-11 共96人阅读

上世纪六七十年代,红岸基地一直在向茫茫外太空发送讯号,当叶文洁通过太阳作为广播,将地球的讯号向外发送时,宇宙的各个先进文明都接收到了讯号,其中就包括了离我们最近的三体星。

本篇使用node.js的http板块模拟这一事件。

let http = require('http')// 创立一个web服务器let server = http.createServer()server.on('request', function () {    console.log('我们接收到了一个使用原始膜发送讯号的文明,这个文明竟然完全不知道宇宙的黑暗森林法则,我们暂不清除她,观察下这个文明的状态')})let port = 8000server.listen(port, function () {    console.log('在浏览器访问: http://127.0.0.1:' + port + ', 你将把你的请求发送到宇宙中...')})

开启服务:

?  01 [master] ? node 08.js在浏览器访问: http://127.0.0.1:8000, 你将把你的请求发送到宇宙中...我们接收到了一个使用原始膜发送讯号的文明,这个文明竟然完全不知道宇宙的黑暗森林法则,我们暂不清除她,观察下这个文明的状态

因为服务端没有给用户端响应,由于用户端一直在等待响应

http服务.gif

当我们的请求被三体星获取到后,三体人因为自己的母星不宜生存,在ETO组织的协助下,三体星准备入侵地球,以下是ETO与三体星的通信:

三体指令

let http = require('http')let fs = require('fs')// 创立一个web服务器let server = http.createServer()server.on('request', function (req, res) {    let url = req.url    if (url === '/') {        // 设置编码格式,避免中文乱码        res.setHeader('Content-Type', 'text/plain; charset=utf-8')        res.end('欢迎来到三体世界')    } else if (url === '/point') {        console.log('地球人不知道有黑暗森林的存在,叶文洁悟出了这个道理,并启发了罗辑,我们要让ETO杀了罗辑')        fs.readFile('./data/threeBody.html', function (err, data) {            if (err) {                res.setHeader('Content-Type', 'text/plain; charset=utf-8')                res.end('星际网络出故障了,文件读取不到')            } else {                // 发送html文件,需要表示文件头是 text/html                res.setHeader('Content-Type', 'text/html; charset=utf-8')                res.end(data)            }        })    } else if (url === '/photo') {        console.log('ETO要看我们的星际环境,给他们传送张图片吧')        fs.readFile('./data/threeBody.jpeg', function (err, data) {            if (err) {                res.setHeader('Content-Type', 'text/plain; charset=utf-8')                res.end('星际网络出故障了,图片读取不到')            } else {                // 发送图片使用的是二进制格式                res.end(data)            }        })    } else {        res.setHeader('Content-Type', 'text/plain; charset=utf-8')        res.end('消息已沉入茫茫宇宙中...')    }})// 自己设置端口let port = 8000server.listen(port, function () {    console.log('与三体的通信又搭建成功,在浏览器访问: http://127.0.0.1:' + port)})

三体通信服务.gif

每次改动服务端的代码,都需要重启服务

关于http板块的api用说明,详见http板块文档

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » node.js的http板块实例演示

发表回复