![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ndoe.js
文章平均质量分 58
想要上榜
这个作者很懒,什么都没留下…
展开
-
什么是URL
URL其实就是我们经常看见的网址。一个URL是由几个不同的部分组成的,每部分都会为Web服务器处理来自客户端HTTP请求提供的基本信息。一个URL的基本结构如图所示。URL基本结构在上图中,“:”前面的HTTP代表服务方式或协议,常见的有POP3、FTP等。现在也有很多是https。“//”后面通常是主机地址和端口号的组合,主机地址可以是域名(如:www.baidu.com)或者直接是主机的IP地址(如:192.12.207.39),端口号没有指定默认为80,“/”后的字符串表示资源的具体地址,实际开原创 2021-01-20 22:46:40 · 504 阅读 · 0 评论 -
秒懂HTTP协议
在上网的过程中,当打开浏览器在地址中输入URL,然后跳转到指定的页面时,这个页面时如何呈现的?例如:在浏览器地址中输入http://baidu.com,将跳转到百度官方网站,如图所示。传统的前端开发人员,对网页的呈现原理并不是很了解,这个问题也就一直没有一个标准的答案,因为实现方式有很多。本篇文章将从HTPP角度来解决这个额问题,首先了解什么是HTTP协议。HTTP协议简介HTTP(Hyper Text Transfer Protocol)全称为超文本传输协议,它于1990年提出,经过多年的使用与发原创 2021-01-17 22:20:40 · 180 阅读 · 0 评论 -
利用node实现的多人广播消息
多人广播消息掌握了获取终端信息的方法后,就可以实现多人广播消息的功能,所谓多人广播消息就是在一个客户端输入信息时,除了自己以外的其他客户端都能到,这时就需要在服务器端获取该客户端输入的数据,然后将其发送到其他客户端。该功能的实现步骤如下:在chapter06目录下创建目录manychat。在manychat目录下创建文件server.js作为服务器端,并且添加如下代码。server.js...原创 2020-03-23 21:37:36 · 636 阅读 · 0 评论 -
Process 模块获取终端输入
Node.js进程管理进程可以看作是一个正在运行的应用程序,例如在前面文章中使用的客户端和服务器,在运行时都可以叫作一 个进程,在Node.js中提供了Process模块用来处理与进程相关的内容。Process 模块获取终端输入在前面文章中,客户端与服务器的双向通信是通过代码实现的,因为我们无法直接在终端上进行信息输人,例如在客户端终端输入信息发送到服务器,这样的功能就需要依赖Process...原创 2020-03-22 16:10:10 · 986 阅读 · 0 评论 -
Net.Socket案例二
客户端与服务器双向通信通过前面案例的学习,我们了解了服务器如何向客户端发送信息,套接字服务是可以实现双向通信的,那么客户端如何向服务器发送信息?这里,不再使用Telnet作为客户端进行测试,而是自己创建一个客户端,在Net模块中可以通过一些函数创建客户端。常用语法如下:net.createConnection(options[,connectListener]);在上述语法中,creat...原创 2020-03-19 11:04:38 · 383 阅读 · 0 评论 -
Net.Socket案例二
统计在线人数每个服务器都可以被多个客户端进行访问,每次有新的客户端连接上来,connection事件的回调函数都会被调用,每次调用就会有一个新的socket对象在回调函数中,下面通过一个案例演示在服务器端如何统计在线人数。在chapter06目录中创建demo6-3.js,并且在该文件中添加如下代码。demo6-3.js:/* * 服务器端统计在线人数 */ var net=requ...原创 2020-03-17 10:53:35 · 150 阅读 · 0 评论 -
Net.Socket案例一
服务器向客户端发送消息在服务器端当有客户端连接被接受时,会发射connection事件,服务器会把客户端的IP地址和端口号封装到一个 Socket对象中,传递给connection 事件处理函数的第一个参数中。下面通过案例来演示服务器端Socket对象的基本使用。在chapter06目录下创建文件demo6-2.js,并在该文件中添加如下代码。demo6-2.js: //1.加载net核心...原创 2020-03-16 09:37:28 · 227 阅读 · 0 评论 -
Net.Socket对象
Net. Socket对象在Node.js中提供了一个Net.Socket对象,用于方便调用底层Socket接口,实现数据传输的功能。Net.Socket实例实现了一Duplex (双工、双向)流接口,提供了Writable 和Readable所有功能,所以可以说它既是可读流也是可写流。Net.Socket对象同时在套接字服务器和客户端上创建,并且会允许数据在它们之间进行读取和写入,一旦So...原创 2020-03-15 19:58:36 · 945 阅读 · 0 评论 -
Net.Server案例
Net.Server案例了解了Net.Server 对象后,通过一个案例来演示Net.Server服务器的基本创建步骤。在对应目录下创建目录chapter06。在chapter06目录下创建文件demo6-1.js,并在该文件中添加如下代码。demo6-1.js:/* 1. Net.Server创建服务器 */ //1.加载net核心模块 var net=require('n...原创 2020-03-14 23:41:41 · 917 阅读 · 0 评论 -
Net.Server对象
Net.Server对象在Node.js中,使用net模块可以创建一个 TCP或本地服务器,语法如下: var server=net.createServer([options][, connectionListener]);在上述语法中,创建的sever 对象就是Net.Sever对象,在该对象中提供了很多可调用的函数,让用户可以进行读取和写入Socket等操作,具体如表所示。...原创 2020-03-12 11:26:11 · 701 阅读 · 0 评论 -
Net模块API
Node.js 中实现套接字服务Node.js中的套接字服务由Net模块提供,其中包含了创建服务器/客户端的方法,引入该模块的语法如下:var net =require('net') ;在Net模块中提供的API如下表所示。函数描述net.createServer([options] [, connectionListener])创建一个TCP服务器。参数conne...原创 2020-03-12 11:11:33 · 151 阅读 · 0 评论 -
套接字Socket简单模型
套接字Socket简单模型学习Socket之前首先需要了解一下TCP/IP协议,TCP/IP协议是TCP和IP协议的合称,TCP(Transfer Control Protocol,传输控制协议)是一种稳定可靠的传送方式, TCP负责发现传输的问题,一有问题就发出信号, 要求重新传输,直到所有数据安全正确地传输到目的地为止。而IP是给互联网的每一台联网设备规定一个地址。TCP/IP协议包含因特...原创 2020-03-11 23:00:40 · 139 阅读 · 0 评论 -
IP 地址和端口号
Node.js网络编程基础网络编程就是在两个或两个以上的设备(例如计算机、手机、服务器、智能电视等)之间进行传输数据,也叫作网络通信。程序员所做的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程。在发送和接收数据时,大部分程序设计语言都设计了API实现这些功能,Node.js 也不例外,提供了专门的网络编程模块,在开发过程中程序员只需使用这些API便可以完成网络通信。...原创 2020-03-10 11:18:48 · 640 阅读 · 0 评论 -
pipe()——进行文件复制
使用pipe()处理大文件在使用大文件复制的案例中,通过可读流的chunk参数来传递数据,如果把数据比作是水,这个chunk就相当于盆,使用盆来完成水的传递。在可读流中还有一个函数叫作pipe(),这个函数是一个很高效的文件处理方式,可以简化之前复制文件的操作,pipe翻译成中文是管子的意思,使用pipe()进行文件复制相当于把盆换成管子,通过管子来完成数据的读取和写入。下面通过案例来演示如何...原创 2020-03-09 18:13:57 · 656 阅读 · 0 评论 -
可写流Writable Stream
可写流(Writable Stream)可写流(Writable Stream)让用户可以写数据到目的地,像可读流一样, 它也是基于EventEmitter。在Node.js中,创建可写流的语法如下:fs.createWriteStream(path[, options]);在上述语法中,path代表文件路径,options 是一组 key-value 值,常用的设置如表所示。项...原创 2020-03-07 22:12:39 · 817 阅读 · 0 评论 -
Node.js的可读流和可写流
可读流与Buffer的读/写操作类似,Stream中的可读流和可写流也用于读/写操作。使用文件流进行文件复制,首先需要创建一个可读流,可读流可以让用户在源文件中分块读取文件中的数据,然后再从可读流中读取数据。在Node.js中,创建可读流的语法如下:fs.createReadStream(path[, options])在上述语法中,path代表文件路径,options是一组key-va...原创 2020-03-06 11:43:46 · 929 阅读 · 0 评论 -
Node的Stream文件流
Stream文件流由于Buffer缓冲区限制在1GB,超过1GB的文件无法直接完成读/写操作,在读/写大文件时,如果读/写资源一直持续不停止,Node.js将无法继续其他工作。为此,Node.js中提供了Stream文件流模块,用来解决大数据文件操作的问题。文件流的概念Node.js的File System模块并没有提供一个 copy的方法,但是通过读取文件和写人文件的方式可以实现,即把文件...原创 2020-03-05 10:20:49 · 345 阅读 · 0 评论 -
拼接缓冲区Buffer中的内容
拼接缓冲区buf.concat在实际开发中,有时会遇到这样的需求,输出两个成多个缓冲区中内容的组合。为了解决这样的需求,Node js中提供拼接缓冲区的函数,语法如下:buf.concat(list[,totalLength]);上述语法执行后返回一个多个成员合并的新Buffer对象。其中,list 用于合并的Buffer对象数组列表,totalLength用于指定合并后Buffer对象的...原创 2020-03-04 10:25:03 · 744 阅读 · 0 评论 -
从缓冲区Buffer读取数据
从缓冲区Buffer读取数据在进行文件复制的过程中,源文件的数据写入缓冲区后,还需要从缓冲区中读取出来再写入目标文件。读取Node.js缓冲区数据的语法如下:buf. toString([encoding[, start[, end]]]);上述语法执行后,将解码缓冲区数据并使用指定的编码返回字符串,各参数说明如下表所示。参数说明encoding使用的编码,默认为’...原创 2020-03-03 15:42:09 · 4484 阅读 · 0 评论 -
写入缓冲区
写入缓冲区在进行文件复制的过程中,首先要将源文件的数据读取出来,然后写入Buffer缓冲区中。写入Node.js缓冲区的语法如下:buf.write(string[, offset[, length]] [,encoding]) ;上述语法执行后将返回实际写入的大小。如果Buffer空间不足,则只会写入部分字符串。各参数说明如下表所示。参数说明string写入缓冲区...原创 2020-03-02 19:55:07 · 996 阅读 · 0 评论 -
Buffer的构造函数
Buffer的构造函数缓冲区是在内容中操作数据的容器,Node.js 中的Buffer缓冲区模块,支持开发者在缓冲区结构中创建、读取、 写入和操作二进制数据,该模块是全局性的,所以在使用时不需要使用require()函数来加载。在Node.js手册中查找到Buffer的创建方式,具体如下:new Buffer(array)、new Buffer(buffer)、new Buffer( arr...原创 2020-03-01 16:21:20 · 1007 阅读 · 0 评论 -
二进制数据和乱码的案例
二进制数据和乱码的案例为了让读者更直观地了解二进制数据和乱码,下面通过一个案例来演示。(1). 在E:\Liu\node.js学习目录下创建目录chapter05。(2). 在chapter05目录下创建记事本文件test.xt,,如图所示。在test.txt文件中添加内容“hello 我是中文”。(3) . 在chapter05目录下创建文件demo5-1.js,在demo5-1.j...原创 2020-02-29 20:36:45 · 1608 阅读 · 0 评论 -
二进制数据和乱码
二进制数据和乱码二进制是计算技术中广泛采用的种数制,是用0和1两个数码来表示的数据,例出小写字母a在Windows系统中的二进制数据就是01100001。每个二进制位就是0和1的两种状态,它的基数为2,进位规则是“逢二进一“ 借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。当前的计算机系统使用的基本都是二进制系统。由于计算机只能识别二进制数据,而人们很难看懂“1010”代表什么...原创 2020-02-28 11:00:50 · 1978 阅读 · 0 评论 -
目录操作-删除目录和删除文件
删除目录和删除文件Node.js中用于删除目录的异步函数语法格式如下:fs.rmdir(path, callback);其中,callback 为回调函数且无参数。删除目录时有一个要求,就是该目录必须为空,所有删除目录的操作还需要读取目录和删除文件操作进行支持。Node.js 中用于删除文件的异步函数语法格式如下:fs.unlink(path, callback);其中,两个参数与...原创 2020-02-27 10:01:30 · 934 阅读 · 0 评论 -
目录操作-读取目录
读取目录Node.js中用于读取目录的异步函数语法格式如下:fs.readdir(path, callback);其中,path为文件路径; callback 为回调函数,该函数带有两个参数err和files,err为错误信息,files 为目录下的文件数组列表。下面通过一案例来演示 Node.js中如何读取目录,具体步骤如下:(1). 在上篇文章中创建的testDemo4-8目录下创...原创 2020-02-26 11:06:37 · 610 阅读 · 0 评论 -
目录操作-创建目录
目录操作在NodeJs中,除了可以对文件内容进行操作,也可以对文件目录进行增加、读取、和删除等操作。创建目录Node.js中用于创建目录的异步函数语法格式如下:fs.mkdir(path[, mode], callback);在上述语法中,各参数的说明如下表所示:参数说明path文件路径mode设置目录权限,默认为0777calback回调函数,...原创 2020-02-25 15:37:01 · 259 阅读 · 0 评论 -
文件相关操作
在实际开发中,除了基本的文件操作,还会涉及很多文件操作的相关问题,例如路径的拼接、操作文件目录等。路径字符串操作 (Path 模块)在文件操作过程中,经常会遇到路径拼接的问题,例如读取一个路径中的文件名部分,或者获取一个文件中的扩展名部分,把两个不完整的路径拼接成一个完整的路径。针对这些路径字符串的操作问题,Node.js 的Path模块提供了一些相关API,如表所示。函数说明...原创 2020-02-24 16:56:15 · 96 阅读 · 0 评论 -
模块化文件复制
模块化封装文件复制功能在实际应用中,Node.js需要模块化封装这个功能,下面通过一个案例来演示如何封装文件复制功能。(1)创建文件demo4-6.js,并在该文件中添加如下代码。demo4-6.js:/* *文件复制模块 */ var fs=require('fs'); /* *定义文件复制函数copy() *src:需要读取的文件 *dist:目标文件 *cal...原创 2020-02-22 16:17:30 · 280 阅读 · 0 评论 -
获取文件信息
获取文件信息在Node.js中,用于获取文件信息的异步函数如下:fs.stat (path, callback);在上述语法中,path表示文件路径;callback 为回调函数,带有两个参数,如(err,stats),stats 是fs.stats 对象。fs.stat(path)执行后,会将Stats类的实例返回给其回调函数。可以通过Stats类中提供的函数判断文件的相关属性。...原创 2020-02-21 22:18:55 · 267 阅读 · 0 评论 -
文件复制
文件复制在操作文件的过程中,有时需要将一个文件中的内容读取出来, 写入到另一个文件中,这个过程就是文件复制的过程。Node.js 中没有直接提供文件复制的函数,但是学习了文件写人和文件读取就可以自己写代码来完成这个过程。文件复制思路下面通过一个案例来演示如何使用文件写人和文件读取API来完成文件复制的思路。创建文件demo4-5.js, 并在该文件中添加如下代码。demo4-5.js:/...原创 2020-02-20 16:44:18 · 110 阅读 · 0 评论 -
文件读取
文件读取在Node.js中,用于文件读取的异步函数如下:fs. readFile(file[, options], callback)在上述语法中,各参数的说明如下表所示。参数 | 说明-------- | -----file | 文件名或文件描述符options | 该参数是一个对象,包含{encoding,g}。默认编码为null,flag为’r’callbac...原创 2020-02-19 22:10:23 · 100 阅读 · 0 评论 -
文件追加
文件追加Node.js中,在使用文件写人方法时,如果文件名存在,就会覆盖同名文件的内容,那么如何向文件中追加内容? 为此,fs模块中提供了追加文件内容的方法。追加文件内容的异步函数语法如下:appendFile(file, data[, options], callback);在上述语法中,各参数与文件写入fs.writeFile()基本相同,如下表所示。参数说明fi...原创 2020-02-19 00:26:23 · 589 阅读 · 0 评论 -
文件写入
文件写入fs模块是Node.js的核心模块,使用某个模块的API之前,首先需要加载这个模块,fs核心模块的模块标识为fs,所以加载该模块可以使用如下语句。var fs = require('fs') ;了解了fs模块的加载方式后,首先介绍一下文件写入,Node.js 中文件写入的语法如下。// 同步写入fs.writeFileSync(file, data[, options]);/...原创 2020-02-17 23:20:51 · 145 阅读 · 0 评论 -
一篇文章快速搞懂 NPM
NPM的概念NPM的全称是Node.js Package Manage,在Node.js中有两种含义:一种含义是Node.js的开放模块登记和管理系统,是一个NPM网站,网址为https://www.npmjs.com,该网站是全球最大的模块生态系统,里面所有的包都是通过Node.js实现的,开源免费,即查即用。另一种含义是Nodejs的包管理工具,一个命令行下的软件,提供了一些命令用于快速安装...原创 2020-02-16 23:20:27 · 438 阅读 · 0 评论 -
适合小白看的Node.js开发Web程序
快速体验Node.js在学习Node.js之前,以.js结尾的文件通常是被引入网页中,在浏览器中执行。下面体验一下在Node.js中如何执行一个.js脚本文件。创建一个demo.js文件,并在该文件中添加代码:console.log('hello world);打开终端,切换到demo.js文件所在的目录,并输入node demo.js,执行结果如图所示:从上图可以看出,在demo.j...原创 2020-02-14 20:24:00 · 502 阅读 · 0 评论 -
最常用而且能快速读懂的CMD命令
常用cmd命令CMD是Command (命令提示符)的缩写,命令提示符是在操作系统中提示进行命令输人的一种工作提示符。 在不同的操作系统环境下,命令提示符各不相同。CMD是Windows系统的命令提示符,命令行程序为cmd.exe,是微软基于Windows系统上的命令解释程序。以exe结尾的文件为可执行文件,当cmd.exe文件执行时,便会打开CMD命令台,如图所示:CMD命令台在实际开发中...原创 2020-02-13 21:21:30 · 2268 阅读 · 0 评论 -
Node.js最通俗易懂的计算器案例
实现计算器首先从大多数人熟悉的编程习惯开始,假如现在要使用JacaScript实现一个计算器的案例,如图所示:前面两个文本框用语输入需要计算的数值,下拉菜单用于选择运算符,单击等号后,计算结果会出现在第三个文本框。<!DOCTYPE html><html lang="en"><head> <meta charset="utf-8"> ...原创 2020-02-12 21:33:53 · 1708 阅读 · 0 评论 -
写给大忙人看的模块化
模块化思想 模块化是一种设计思想,利用模块化可以把一个非常复杂的系统结构细化到具体的功能点,每个功能点看做一个模块,然后通过某种规则把这些小的模块组合到一起,构成模块化系统。模块化的概念从成产角度,模块化是一种生产方式,这种生产方式体现了两个特点:生产效率高:灵活架构,焦点分离。多人协生互不干优。方便模块间组合、分解。维护成本低:可分单元群式。方便单个横块功能调试、升级。...原创 2020-02-11 20:47:46 · 270 阅读 · 0 评论