您身边的网站建设专家
成功案例

【建站服务】邵阳企业网站设计 - 邵阳高端网站定制 - 邵阳品牌网站搭建 - 上往建站-域名申请

日期: 2022-09-21 03:54:56 浏览数:3


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


邵阳企业网站设计 - 邵阳高端网站定制 - 邵阳品牌网站搭建 - 上往建站

网站建设.png

// 通过 http 模块的 STATUS_CODES 方法,直接获取一个包含状态码和状态信息的对象。
    // 获取对应状态码 418 的状态信息
    res.writeHead(418, http.STATUS_CODES["418"], {
        'Content-Type': 'text/html'
    });
    // 为 http.ServerResponse 对象绑定对 finish 事件的监听
    res.addListener("finish", () => {
        console.log("server response is finished");
    });
    res.end("<h1>Hello World</h1>");}).listen(8080, () => {
    console.log("http server starts at 8080 port");});// <http.Server> Extends: <net.Server>// <net.Server> Extends: <EventEmitter>// 既然最终 <http.Server> 构造函数继承自 <EventEmitter> 构造函数,那么根据原型链的原理,// 它也可以调用 <EventEmitter> 的 emitter.on(eventName, listener) 方法。server.on("connection", () => {
    console.log("a client has connected to the server!");});/**
 * 用户打开页面8080端口后,Node服务器控制台输出:
 * http server starts at 8080 port
 * a client has connected to the server!
 * a client has connected to the server!
 * server response is finished
 * server response is finished
 */

以上代码中:

res.addListener("finish", () => {
        console.log("server response is finished");
 });

server.on("connection", () => {
    console.log("a client has connected to the server!");});

底层实现都是 event 模块来实现。可以通过查看 NodeJS 文档来看继承关系。


Node.js Buffer(缓冲区)

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。


但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。


在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Buffer 库。原始数据存储在 Buffer 类的实例中。一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之外的一块原始内存。


在v6.0之前创建Buffer对象直接使用new Buffer()构造函数来创建对象实例,但是Buffer对内存的权限操作相比很大,可以直接捕获一些敏感信息,所以在v6.0以后,官方文档里面建议使用 Buffer.from() 接口去创建Buffer对象。


Buffer 与字符编码

Buffer 实例一般用于表示编码字符的序列,比如 UTF-8 、 UCS2 、 Base64 、或十六进制编码的数据。 通过使用显式的字符编码,就可以在 Buffer 实例与普通的 JavaScript 字符串之间进行相互转换。


const buf = Buffer.from('runoob', 'ascii');


// 输出 72756e6f6f62

console.log(buf.toString('hex'));


// 输出 cnVub29i

console.log(buf.toString('base64'));

Node.js 目前支持的字符编码包括:


ascii - 仅支持 7 位 ASCII 数据。如果设置去掉高位的话,这种编码是非常快的。


utf8 - 多字节编码的 Unicode 字符。许多网页和其他文档格式都使用 UTF-8 。


utf16le - 2 或 4 个字节,小字节序编码的 Unicode 字符。支持代理对(U+10000 至 U+10FFFF)。


ucs2 - utf16le 的别名。


base64 - Base64 编码。


latin1 - 一种把 Buffer 编码成一字节编码的字符串的方式。


binary - latin1 的别名。


hex - 将每个字节编码为两个十六进制字符。


创建 Buffer 类

Buffer 提供了以下 API 来创建 Buffer 类:


Buffer.alloc(size[, fill[, encoding]]): 返回一个指定大小



邵阳企业网站设计 - 邵阳高端网站定制 - 邵阳品牌网站搭建 - 上往建站


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站