node.js
文章平均质量分 53
一介白衣ing
。。。
展开
-
Node.js之构建WebSocket服务
WebSocket简介WebSocket是HTML5开始提供的一种在单个TCP 连接上进行全双工通讯的协议。它有如下特点:基于TCP,客户端和服务端只建立一个TCP连接。 服务端可以主动向客户端发送消息。 采用了二进制帧结构,不具备HTTP/2多路复用、优先级等特性 更轻量的协议头,减少数据传输量。 WebSocket握手包的报文格式必须符合HTTP报文格式的规范客户端和服务端的简单实现服务端服务端我们使用nodejs-websocket包来实现。const ws = r原创 2022-01-22 17:26:39 · 6057 阅读 · 2 评论 -
Node.js之构建UDP服务
UDP简介UDP又称用户数据包协议,它和TCP一样属于网络传输层。与TCP不同的是,它不是面向连接的,只需要一个套接字就可以与多个UDP服务通信。它提供的信息传输服务虽然简单不可靠,并且在网络差的情况存在丢包问题,但是由于它无需连接,资源消耗低,所以常常应用在一些偶尔丢包也不会产生严重影响的场景下。例如音频视频,DNS服务等。服务端(server.js)废话不多讲,直接上实例:const dgram = require("dgram");const server = dgram.c原创 2022-01-21 10:53:37 · 4354 阅读 · 0 评论 -
Node.js之创建TCP服务器端
什么是TCPTCP全名为传输控制协议,在OSI七层模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层)中属于传输层协议。TCP是面向连接的,传输之前需要3次握手形成会话,之后服务器端和客户端才能互相发送数据。在创建会话过程中,服务器和客户端分别提供一个套接字,两个套接字共同形成一个连接。创建TCP服务端api地址:http://nodejs.cn/api/net.ht...原创 2022-01-18 13:03:35 · 4204 阅读 · 0 评论 -
Node.js之文件系统
文件描述符文件描述符是使用fs模块提供的open()方法打开文件后返回的(即fd):const fs = require("fs");// 文件描述符(fd: number)const filePath = "./mylog.txt";const flag = "r";const mode = 0o666;const buf = Buffer.alloc(1024);fs.open(filePath, flag, mode, (err, fd) => {});常用的...原创 2022-01-12 12:24:55 · 356 阅读 · 0 评论 -
Node.js之HTTP服务端和客户端实现
服务端先来看一个简单的web服务器的实现:const http = require('http')const port = 3000const server = http.createServer((req, res) => { res.statusCode = 200 res.setHeader('Content-Type', 'text/plain') res.end('你好世界\n')})server.listen(port, () => { con原创 2022-01-12 10:36:50 · 1299 阅读 · 0 评论 -
Node.js之事件触发器
触发器程序中的触发器的设计一般分两步:1. 将某一个动作存储在一个唯一标志。2. 固定场景触发此动作。Node.js中的触发器api地址:events 事件触发器 | Node.js API 文档简单使用:1. 调用on()方法绑定触发器,调用emit()方法触发。const EventEmitter = require("events");const eventEmitter = new EventEmitter();// on 方法和 emit方法原创 2022-01-11 18:21:28 · 479 阅读 · 0 评论 -
Node.js之简单介绍和安装
介绍官网:Node.js中文网地址:Node.js 中文网Node.js是什么:Node.js 是一个开源和跨平台的 JavaScript 运行时环境。首先,它并不是一门编程语言,它使用 JavaScript 作为其编程语言。特性:可以使用JavaScript进行服务端开发。 I/O异步 单线程 大量的库环境node.js下载:下载 | Node.js 中文网nvm下载(node version manager):GitHub - nvm-sh/nvm: Nod...原创 2022-01-11 18:07:50 · 265 阅读 · 0 评论