苹果11文件夹怎么连接服务器,(11)文件服务器

2023-11-08

要求

编写一个 HTTP 文件 服务器,它用于将每次所请求的文件返回给客户端。

服务器需要监听所提供的第一个命令行参数所制定的端口。

同时,第二个会提供给程序的参数则是所需要响应的文本文件的位置。在这一题中必须使用fs.createReadStream() 方法以 stream 的形式作出请求相应。

提示

由于我们需要创建的是一个 HTTP 服务而不是普通的 TCP 服务,因此,应该使用 http 这个 Node 核心模块。它和 net 模块类似,http 模块拥有一个叫做 http.createServer() 的方法,所不同的是它所创建的服务器是用 HTTP 协议进行通信的。

http.createServer()接收一个回调函数作为参数,回调函数会在你的服务器每一次进行连接的时候执行,这个回调函数有以下的特征:

function callback (request, response) { /* ... */ }

在这里,这两个参数是代表一个 HTTP 请求以及相应的响应的两个对象。request 用来从请求中获取一些的属性,例如请求头和查询字符(query-string),而 response 会发送数据给客户端,包括响应头部和响应主体。

request 和 response 也都是 Node stream!这意味着,如果需要的话,可以使用流式处理(streaming)所抽象的那些方法来实现发送和接收数据。

http.createServer() 会返回一个 HTTP 服务器的实例。这里需要调用 server.listen(portNumber) 方法去监听一个特定的端口。

一个典型的 Node HTTP 服务器将会是这个样子:

var http = require('http')

var server = http.createServer(function (req, res) {

// 处理请求的逻辑...

})

server.listen(8000)

fs 这个核心模块也含有一些用来处理文件的流式(stream) API。可以使用 fs.createReadStream() 方法来为命令行参数指定的文件创建一个 stream。这个方法会返回一个 stream 对象,该对象可以使用类似 src.pipe(dst) 的语法把数据从 src流传输(pipe) 到 dst 流中。通过这种形式,可以轻松地把一个文件系统的 stream 和一个 HTTP 响应的 stream 连接起来。

代码

var http = require('http')

var fs = require('fs')

var server = http.createServer(function (req, res) {

res.writeHead(200, { 'content-type': 'text/plain' })

fs.createReadStream(process.argv[3]).pipe(res)

})

server.listen(Number(process.argv[2]))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

苹果11文件夹怎么连接服务器,(11)文件服务器 的相关文章

  • 1.1 new关键字及内存泄漏

    new关键字是C 用来动态分配内存的主要方式 代码演示 new可以直接分配单个变量的内存 也可以分配数组 在分配单个对象的内存时 当对象是普通变量时 可以分配对应的内存 include
  • 雪球网

    aa 600774 600715 002962 002706 600874 002730 300328 600727 834779 300188 300225 603967 002637 000715 837679 300310 30048
  • linux 目录文件对比,Linux下快速比较两个目录的不同

    曾多次想要在Linux下比较目录a和目录b中文件列表的差别 然后对目录a比目录b中多出的文件 少掉的文件分别做处理 但是 在网上搜索了多次也都没找到能直接处理好的工具 所以想了很多不少方法 自我感觉都不错 而且网上似乎没有这方面的文章 所以
  • Python数据分析实战(3)Python实现数据可视化

    文章目录 一 数据可视化介绍 二 matplotlib和pandas画图 1 matplotlib简介和简单使用 2 matplotlib常见作图类型 3 使用pandas画图 4 pandas中绘图与matplotlib结合使用 三 订单
  • 出现次数最多的数CSP201312-1(简单c语言解法)

    问题描述 给定n个正整数 找出它们中出现次数最多的数 如果这样的数有多个 请输出其中最小的一个 输入格式 输入的第一行只有一个正整数n 1 n 1000 表示数字的个数 输入的第二行有n个整数s1 s2 sn 1 si 10000 1 i
  • Linux中ssh基于密匙的安全验证过程是怎样的?

    在Linux中 ssh是非常重要的存在 但很多人对 ssh 这个概念很模糊 听起来也很晦涩难懂 那么Linux ssh是什么 有什么用 这篇文章为你解答一下 SSH是一种协议 SSH是较可靠 专为远程登录会话和其他网络服务提供安全性的协议
  • BufferedImage 基本操作

    1 创建一个图片 并且写入文件 BufferedImage grayImage new BufferedImage 512 512 BufferedImage TYPE INT ARGB ImageIO write grayImage jp
  • 利用函数求数组[5,2,99,101,67,77]中的最大值

  • 后台开发工具篇之xampp

    一 解决问题 在进行后台开发时 我们很多时候都需要先在本地编写与调试代码 这就需要我们首先在本地搭建服务器开发环境 但是 搭建过的朋友应该知道 环境的搭建可不是三两步就可以搞定的 举例来说 如果我们要在本地Windows环境中搭建PHP服务
  • 图像预处理——CV

    目录 1 图像预处理 1 1 图像显示与存储原理 1 2 图像增强的目标 1 3 点运算 基于直方图的对比度增强 1 4 形态学处理 1 5 空间域处理 卷积 1 6 卷积的应用 平滑 边缘检测 锐化等 1 7 频率域处理 傅里叶变换 小波
  • 薪资12k,在银行外包做软件测试是一种什么体验...

    背景 本人普通二本本科毕业 4 年 目前是在广州工作 是一家大型的人力外包公司外包到银行的开发人员 这可能也是长期在各大招聘软件上最积极的招聘岗位 从入职到现在已经有四个月了 也大概了解了外包的主要工作情况 也有了一些心得体会 借此机会也简
  • 【解决】NullReferenceException: Object reference not set to an instance of an object

    游戏引擎 Unity 版本 2019 4 6f1 2017版本以上均可 编译平台 Visual Studio 2019 一 问题描述 描述 原 文 报错 NullReferenceException Object reference not
  • IT云运维技术分享

    1 运维体系 1 1 市场对运维的需求 时代发展到今天 社会的生活方式与生产方式的全面的数字化 无论是传统企业还是互联网企业 都在全面上云 这也意味着企业的关键业务乃至 身家性命 都已经全部放在 IT 系统之上 因此企业需要系统足够稳定可靠
  • python37-32_python37.dll文件 免费版

    python37 dll文件是一款非常重要的系统文件 你还在为python37 dll文件缺失出错而苦恼吗 小编推荐你使用这款软件 它可以帮助大家修复因为缺失python37 dll引起的一场和报错 只需要在本站下载压缩包解压后安装在指定文
  • 神经网络-Unet网络

    文章目录 前言 1 seq2seq 编码后解码 2 网络结构 3 特征融合 4 前言 Unet用来做小目标语义分割 优点 网络结构非常简单 大纲目录 2016年特别火 在细胞领域做分割特别好 1 seq2seq 编码后解码 2 网络结构 几
  • H - Hiking trip Gym - 103577H

    题目链接 题意 题意很简单就是模拟一个过程 但是模拟很复杂错了很多次 下面是AC代码 include
  • Unity脚本开发基础

    1 打开工程 Assets中新建文件夹Scripts 在文件夹中右键Create C 创建完毕 双击脚本 打开IDE 注意 类名和脚本名要是一样的 Start函数 在其中的内容会在一开始就被执行 所以一些需要初始化的变量写在其中 Updat
  • GitLab 与 SourceTree的结合使用

    这里写自定义目录标题 为公司分配的GitLab账号 重置密码 为GitLab添加公钥 第一步 创建ssh 第二部 为GitLab添加ssh 下载sourcetree 这里我们点击Bitbucket进行授权登陆 不登陆安装工具会很慢还有可能出
  • MySQL数据库的介绍

    数据库简介 数据库指的是长期存在计算机内 有组织 可共享 大量数据的集合 数据是按照特定的数据模型来组织 存储在数据库中 数据库的好处 1 持久化数据到本地 2 可以实现结构化查询 方便管理 数据库相关概念 DB database 数据库

随机推荐