欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解node.js的http模塊實(shí)例演示

 更新時(shí)間:2018年07月12日 14:24:09   作者:章魚(yú)喵_  
這篇文章主要介紹了詳解node.js的http模塊實(shí)例演示,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

上世紀(jì)六七十年代,紅岸基地一直在向茫茫外太空發(fā)送訊號(hào),當(dāng)葉文潔通過(guò)太陽(yáng)作為廣播,將地球的訊號(hào)向外發(fā)送時(shí),宇宙的各個(gè)先進(jìn)文明都接收到了訊號(hào),其中就包括了離我們最近的三體星。

本篇用node.js的http模塊模擬這一事件。

let http = require('http')
// 創(chuàng)建一個(gè)web服務(wù)器
let server = http.createServer()

server.on('request', function () {
  console.log('我們接收到了一個(gè)用原始膜發(fā)送訊號(hào)的文明,這個(gè)文明竟然完全不知道宇宙的黑暗森林法則,我們暫不清理她,觀察下這個(gè)文明的狀態(tài)')
})

let port = 8000
server.listen(port, function () {
  console.log('在瀏覽器訪(fǎng)問(wèn): http://127.0.0.1:' + port + ', 你將把你的請(qǐng)求發(fā)送到宇宙中...')
})

開(kāi)啟服務(wù):

☁ 01 [master] :zap: node 08.js
在瀏覽器訪(fǎng)問(wèn): http://127.0.0.1:8000, 你將把你的請(qǐng)求發(fā)送到宇宙中...
我們接收到了一個(gè)用原始膜發(fā)送訊號(hào)的文明,這個(gè)文明竟然完全不知道宇宙的黑暗森林法則,我們暫不清理她,觀察下這個(gè)文明的狀態(tài)

由于服務(wù)端沒(méi)有給客戶(hù)端響應(yīng),因?yàn)榭蛻?hù)端一直在等待響應(yīng)

http服務(wù).gif

當(dāng)我們的請(qǐng)求被三體星獲取到后,三體人由于自己的母星不宜生存,在ETO組織的協(xié)助下,三體星準(zhǔn)備入侵地球,以下是ETO與三體星的通信:

三體指令

let http = require('http')
let fs = require('fs')

// 創(chuàng)建一個(gè)web服務(wù)器
let server = http.createServer()

server.on('request', function (req, res) {
  let url = req.url
  if (url === '/') {
    // 設(shè)置編碼格式,避免中文亂碼
    res.setHeader('Content-Type', 'text/plain; charset=utf-8')
    res.end('歡迎來(lái)到三體世界')
  } else if (url === '/point') {
    console.log('地球人不知道有黑暗森林的存在,葉文潔悟出了這個(gè)道理,并啟發(fā)了羅輯,我們要讓ETO殺了羅輯')
    fs.readFile('./data/threeBody.html', function (err, data) {
      if (err) {
        res.setHeader('Content-Type', 'text/plain; charset=utf-8')
        res.end('星際網(wǎng)絡(luò)出故障了,文件讀取不到')
      } else {
        // 發(fā)送html文件,需要表示文件頭是 text/html
        res.setHeader('Content-Type', 'text/html; charset=utf-8')
        res.end(data)
      }
    })
  } else if (url === '/photo') {
    console.log('ETO要看我們的星際環(huán)境,給他們傳送張圖片吧')
    fs.readFile('./data/threeBody.jpeg', function (err, data) {
      if (err) {
        res.setHeader('Content-Type', 'text/plain; charset=utf-8')
        res.end('星際網(wǎng)絡(luò)出故障了,圖片讀取不到')
      } else {
        // 發(fā)送圖片用的是二進(jìn)制格式
        res.end(data)
      }
    })
  } else {
    res.setHeader('Content-Type', 'text/plain; charset=utf-8')
    res.end('消息已沉入茫茫宇宙中...')
  }
})

// 自定義端口
let port = 8000
server.listen(port, function () {
  console.log('與三體的通信又搭建成功,在瀏覽器訪(fǎng)問(wèn): http://127.0.0.1:' + port)
})

三體通信服務(wù).gif

每次改動(dòng)服務(wù)端的代碼,都需要重啟服務(wù)

關(guān)于http模塊的api使用說(shuō)明,詳見(jiàn) http模塊文檔

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs報(bào)digital?envelope?routines::unsupported錯(cuò)誤的最新解決方法

    nodejs報(bào)digital?envelope?routines::unsupported錯(cuò)誤的最新解決方法

    這篇文章主要介紹了nodejs報(bào)digital?envelope?routines::unsupported錯(cuò)誤的最新解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)

    Nodejs學(xué)習(xí)筆記之測(cè)試驅(qū)動(dòng)

    本文是本系列文章的第二篇,主要是測(cè)試針對(duì)于web后端的驅(qū)動(dòng),在開(kāi)發(fā)過(guò)程中,在開(kāi)發(fā)完成一段代碼后如果負(fù)責(zé)任而不是說(shuō)完全把問(wèn)題交給測(cè)試人員去發(fā)現(xiàn)的話(huà),這個(gè)時(shí)候通常都會(huì)去做一些手動(dòng)的測(cè)試。
    2015-04-04
  • nodejs獲取表單數(shù)據(jù)的三種方法實(shí)例

    nodejs獲取表單數(shù)據(jù)的三種方法實(shí)例

    在開(kāi)發(fā)中經(jīng)常需要獲取form表單的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于nodejs獲取表單數(shù)據(jù)的三種方法,方法分別是form表單傳遞、ajax請(qǐng)求傳遞以及表單序列化,需要的朋友可以參考下
    2021-06-06
  • nodejs版本過(guò)高導(dǎo)致vue-cli項(xiàng)目無(wú)法正常運(yùn)行的幾種解決方案

    nodejs版本過(guò)高導(dǎo)致vue-cli項(xiàng)目無(wú)法正常運(yùn)行的幾種解決方案

    這篇文章主要給大家介紹了關(guān)于nodejs版本過(guò)高導(dǎo)致vue-cli項(xiàng)目無(wú)法正常運(yùn)行的幾種解決方案,在項(xiàng)目中你可能需要用到的node版本太低,但是你所下的node版本是最新的,這時(shí)候就會(huì)報(bào)錯(cuò),需要的朋友可以參考下
    2023-07-07
  • Node.js中package.json中庫(kù)的版本號(hào)(~和^)

    Node.js中package.json中庫(kù)的版本號(hào)(~和^)

    這篇文章主要介紹了Node.js中package.json中庫(kù)的版本號(hào)(~和^),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • 使用nvm管理不同版本的node與npm的方法

    使用nvm管理不同版本的node與npm的方法

    本篇文章主要介紹了使用 nvm 管理不同版本的 node 與 npm的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • nodejs acl的用戶(hù)權(quán)限管理詳解

    nodejs acl的用戶(hù)權(quán)限管理詳解

    這篇文章主要介紹了nodejs acl的用戶(hù)權(quán)限管理詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 深入理解Node內(nèi)建模塊和對(duì)象

    深入理解Node內(nèi)建模塊和對(duì)象

    在node核心中有些內(nèi)建模塊,使用這些模塊可以操作系統(tǒng),文件和網(wǎng)絡(luò),這篇文章主要介紹了深入理解Node內(nèi)建模塊和對(duì)象,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容

    Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容

    這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中利用node.js提取Word(doc/docx)及PDF文本的內(nèi)容,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編來(lái)一起看看吧。
    2017-06-06
  • 詳解使用vscode+es6寫(xiě)nodejs服務(wù)端調(diào)試配置

    詳解使用vscode+es6寫(xiě)nodejs服務(wù)端調(diào)試配置

    本篇文章主要介紹了使用vscode+es6寫(xiě)nodejs服務(wù)端調(diào)試配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09

最新評(píng)論