dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1570|回复: 20

使用Node.js从零开始构建WebSocket服务器(英文版)

[复制链接]

104

主题

122

帖子

689

积分

荣誉会员

积分
689

发表于 2025-8-20 17:00:00 | 显示全部楼层 |阅读模式
程序人生
课程方向: Nodejs 
课程类型: 语言基础 功能实现 

本站资源全部免费,回复即可查看下载地址!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
├─1 - Introduction
│      1 -Introduction.mp4
│      1 -Introduction.srt
│      1 -Introduction.vtt
│      2 -To build a WebSocket server, we need to be RFC compliant.mp4
│      2 -To build a WebSocket server, we need to be RFC compliant.srt
│      2 -To build a WebSocket server, we need to be RFC compliant.vtt
│      
├─2 - Creating a NodeJS server
│      1 -Overview of HTML and CSS.mp4
│      1 -Overview of HTML and CSS.srt
│      1 -Overview of HTML and CSS.vtt
│      1 -websocket_server_starting_code.rar
│      2 -Setting up our HTTP server.mp4
│      2 -Setting up our HTTP server.srt
│      2 -Setting up our HTTP server.vtt
│      3 -Creating custom modules and finishing off the HTTP server.mp4
│      3 -Creating custom modules and finishing off the HTTP server.srt
│      3 -Creating custom modules and finishing off the HTTP server.vtt
│      4 -Implementing basic error handling.mp4
│      4 -Implementing basic error handling.srt
│      4 -Implementing basic error handling.vtt
│      5 -Using Run and Debug to examine the forEach loop.mp4
│      5 -Using Run and Debug to examine the forEach loop.srt
│      5 -Using Run and Debug to examine the forEach loop.vtt
│      6 -Testing our errors.mp4
│      6 -Testing our errors.srt
│      6 -Testing our errors.vtt
│      7 -websocket_server_http_server.rar
│      
├─3 - Establishing a WebSocket Connection
│      1 -Using the 'upgrade' event listener to receive 3 important object.mp4
│      1 -Using the 'upgrade' event listener to receive 3 important object.srt
│      1 -Using the 'upgrade' event listener to receive 3 important object.vtt
│      10 -websocket_server_establishing_WebSocket_connection.rar
│      2 -Examining the request object.mp4
│      2 -Examining the request object.srt
│      2 -Examining the request object.vtt
│      3 -Reading the client's opening handshake request headers.mp4
│      3 -Reading the client's opening handshake request headers.srt
│      3 -Reading the client's opening handshake request headers.vtt
│      4 -Sending a 400 Bad Request response if the client handshake headers fail.mp4
│      4 -Sending a 400 Bad Request response if the client handshake headers fail.srt
│      4 -Sending a 400 Bad Request response if the client handshake headers fail.vtt
│      5 -Generate the server response headers object.mp4
│      5 -Generate the server response headers object.srt
│      5 -Generate the server response headers object.vtt
│      6 -Extracting the Sec-WebSocket-Key and using the crypto module.mp4
│      6 -Extracting the Sec-WebSocket-Key and using the crypto module.srt
│      6 -Extracting the Sec-WebSocket-Key and using the crypto module.vtt
│      7 -Timeout! What is SHA-hashing and the crypto module.mp4
│      7 -Timeout! What is SHA-hashing and the crypto module.srt
│      7 -Timeout! What is SHA-hashing and the crypto module.vtt
│      8 -Generate the Sec-WebSocket-Accept value and send back headers to the client.mp4
│      8 -Generate the Sec-WebSocket-Accept value and send back headers to the client.srt
│      8 -Generate the Sec-WebSocket-Accept value and send back headers to the client.vtt
│      9 -Testing our code and opening up a valid WebSocket connection.mp4
│      9 -Testing our code and opening up a valid WebSocket connection.srt
│      9 -Testing our code and opening up a valid WebSocket connection.vtt
│      
├─4 - Receiving WebSocket Data
│      1 -Setting up our file for the next goal.mp4
│      1 -Setting up our file for the next goal.srt
│      1 -Setting up our file for the next goal.vtt
│      10 -Why is the letter a sent as 7 bytes.mp4
│      10 -Why is the letter a sent as 7 bytes.srt
│      10 -Why is the letter a sent as 7 bytes.vtt
│      11 -Using the Debugger tool to analyze code.mp4
│      11 -Using the Debugger tool to analyze code.srt
│      11 -Using the Debugger tool to analyze code.vtt
│      12 -Extracting the FIN bit.mp4
│      12 -Extracting the FIN bit.srt
│      12 -Extracting the FIN bit.vtt
│      13 -Bitwise operators.mp4
│      13 -Bitwise operators.srt
│      13 -Bitwise operators.vtt
│      14 -Extracting the MASK, OPCODE and initial LENGTH information.mp4
│      14 -Extracting the MASK, OPCODE and initial LENGTH information.srt
│      14 -Extracting the MASK, OPCODE and initial LENGTH information.vtt
│      15 -Setting up code to extract the payload length details.mp4
│      15 -Setting up code to extract the payload length details.srt
│      15 -Setting up code to extract the payload length details.vtt
│      16 -The 3 categories of payload lengths.mp4
│      16 -The 3 categories of payload lengths.srt
│      16 -The 3 categories of payload lengths.vtt
│      17 -Calculating the payload length.mp4
│      17 -Calculating the payload length.srt
│      17 -Calculating the payload length.vtt
│      18 -Payload length checks.mp4
│      18 -Payload length checks.srt
│      18 -Payload length checks.vtt
│      19 -Extract the Masking Key.mp4
│      19 -Extract the Masking Key.srt
│      19 -Extract the Masking Key.vtt
│      2 -The socket object inherits from the stream.Duplex class.mp4
│      2 -The socket object inherits from the stream.Duplex class.srt
│      2 -The socket object inherits from the stream.Duplex class.vtt
│      20 -Define the getPayload() method.mp4
│      20 -Define the getPayload() method.srt
│      20 -Define the getPayload() method.vtt
│      21 -Extract one full frame of data (masked).mp4
│      21 -Extract one full frame of data (masked).srt
│      21 -Extract one full frame of data (masked).vtt
│      22 -Unmasking the frame payload.mp4
│      22 -Unmasking the frame payload.srt
│      22 -Unmasking the frame payload.vtt
│      23 -What is the modulus operand.mp4
│      23 -What is the modulus operand.srt
│      23 -What is the modulus operand.vtt
│      24 -Create a persistent fragments array and check for more frames (FIN bit check).mp4
│      24 -Create a persistent fragments array and check for more frames (FIN bit check).srt
│      24 -Create a persistent fragments array and check for more frames (FIN bit check).vtt
│      25 -SMALL payloads - Using the debugger to analyze logic.mp4
│      25 -SMALL payloads - Using the debugger to analyze logic.srt
│      25 -SMALL payloads - Using the debugger to analyze logic.vtt
│      26 -Fixing the error in our consumePayload() method.mp4
│      26 -Fixing the error in our consumePayload() method.srt
│      26 -Fixing the error in our consumePayload() method.vtt
│      27 -Adding a prepopulate button to the HTML.mp4
│      27 -Adding a prepopulate button to the HTML.srt
│      27 -Adding a prepopulate button to the HTML.vtt
│      28 -MEDIUM Payloads - Using the debugger to analyze logic.mp4
│      28 -MEDIUM Payloads - Using the debugger to analyze logic.srt
│      28 -MEDIUM Payloads - Using the debugger to analyze logic.vtt
│      29 -LARGE Payloads Part 1 of 3. Understanding getLength() logic.mp4
│      29 -LARGE Payloads Part 1 of 3. Understanding getLength() logic.srt
│      29 -LARGE Payloads Part 1 of 3. Understanding getLength() logic.vtt
│      3 -Defining our data event handler.mp4
│      3 -Defining our data event handler.srt
│      3 -Defining our data event handler.vtt
│      30 -LARGE Payloads Part 2 of 3. Waiting for additional chunks.mp4
│      30 -LARGE Payloads Part 2 of 3. Waiting for additional chunks.srt
│      30 -LARGE Payloads Part 2 of 3. Waiting for additional chunks.vtt
│      31 -LARGE Payloads Part 3 of 3. Processing the entire payload into _fragments.mp4
│      31 -LARGE Payloads Part 3 of 3. Processing the entire payload into _fragments.srt
│      31 -LARGE Payloads Part 3 of 3. Processing the entire payload into _fragments.vtt
│      32 -Improvements comments and adding opcode checks.mp4
│      32 -Improvements comments and adding opcode checks.srt
│      32 -Improvements comments and adding opcode checks.vtt
│      33 -Advanced - chunk size variation between debugger vs live environment.mp4
│      33 -Advanced - chunk size variation between debugger vs live environment.srt
│      33 -Advanced - chunk size variation between debugger vs live environment.vtt
│      34 -Improving our _getInfo() method.mp4
│      34 -Improving our _getInfo() method.srt
│      34 -Improving our _getInfo() method.vtt
│      35 -websocket_server_receiving_data.rar
│      4 -Quick cut - adding the 'end' event listener to our socket object.mp4
│      4 -Quick cut - adding the 'end' event listener to our socket object.srt
│      4 -Quick cut - adding the 'end' event listener to our socket object.vtt
│      5 -Define the processBuffer() function.mp4
│      5 -Define the processBuffer() function.srt
│      5 -Define the processBuffer() function.vtt
│      6 -The WebSocket binary frame structure.mp4
│      6 -The WebSocket binary frame structure.srt
│      6 -The WebSocket binary frame structure.vtt
│      7 -Coding the task management looping function.mp4
│      7 -Coding the task management looping function.srt
│      7 -Coding the task management looping function.vtt
│      8 -Extract the first 2 bytes of data from the WebSocket data frame.mp4
│      8 -Extract the first 2 bytes of data from the WebSocket data frame.srt
│      8 -Extract the first 2 bytes of data from the WebSocket data frame.vtt
│      9 -What are Buffers.mp4
│      9 -What are Buffers.srt
│      9 -What are Buffers.vtt
│      
├─5 - Sending WebSocket Data
│      1 -Getting project files ready to send data to the client.mp4
│      1 -Getting project files ready to send data to the client.srt
│      1 -Getting project files ready to send data to the client.vtt
│      10 -Using debugger tool to examine code.mp4
│      10 -Using debugger tool to examine code.srt
│      10 -Using debugger tool to examine code.vtt
│      11 -Displaying the WebSocket message on the client-side.mp4
│      11 -Displaying the WebSocket message on the client-side.srt
│      11 -Displaying the WebSocket message on the client-side.vtt
│      12 -websocket_server_sending_data.rar
│      2 -Calculating the size of the variable-length header field.mp4
│      2 -Calculating the size of the variable-length header field.srt
│      2 -Calculating the size of the variable-length header field.vtt
│      3 -Create the binary frame buffer blueprint.mp4
│      3 -Create the binary frame buffer blueprint.srt
│      3 -Create the binary frame buffer blueprint.vtt
│      4 -Creating the first byte of the frame.mp4
│      4 -Creating the first byte of the frame.srt
│      4 -Creating the first byte of the frame.vtt
│      5 -Bitwise shift operators.mp4
│      5 -Bitwise shift operators.srt
│      5 -Bitwise shift operators.vtt
│      6 -Populate the frame header with data.mp4
│      6 -Populate the frame header with data.srt
│      6 -Populate the frame header with data.vtt
│      7 -Sending the frame to the client.mp4
│      7 -Sending the frame to the client.srt
│      7 -Sending the frame to the client.vtt
│      8 -Testing whether the client received the frame.mp4
│      8 -Testing whether the client received the frame.srt
│      8 -Testing whether the client received the frame.vtt
│      9 -Creating a reset() function.mp4
│      9 -Creating a reset() function.srt
│      9 -Creating a reset() function.vtt
│      
└─6 - Responding to a closure frame
        1 -Setting up project code and defining our mini-goal.mp4
        1 -Setting up project code and defining our mini-goal.srt
        1 -Setting up project code and defining our mini-goal.vtt
        10 -Extracting the server response from the CloseEvent object.mp4
        10 -Extracting the server response from the CloseEvent object.srt
        10 -Extracting the server response from the CloseEvent object.vtt
        11 -Sending a closure frame if the masking bit is not set correctly by the client.mp4
        11 -Sending a closure frame if the masking bit is not set correctly by the client.srt
        11 -Sending a closure frame if the masking bit is not set correctly by the client.vtt
        12 -Check whether client has sent a closure code.mp4
        12 -Check whether client has sent a closure code.srt
        12 -Check whether client has sent a closure code.vtt
        13 -Displaying default closure message (for normal closure event).mp4
        13 -Displaying default closure message (for normal closure event).srt
        13 -Displaying default closure message (for normal closure event).vtt
        14 -Fixing comments and removing server response text when new connection is made.mp4
        14 -Fixing comments and removing server response text when new connection is made.srt
        14 -Fixing comments and removing server response text when new connection is made.vtt
        15 -Server side validation for text.mp4
        15 -Server side validation for text.srt
        15 -Server side validation for text.vtt
        16 -Fixing the refresh issue killing the server.mp4
        16 -Fixing the refresh issue killing the server.srt
        16 -Fixing the refresh issue killing the server.vtt
        17 -websocket_server_final_code.rar
        2 -Closing handshake.mp4
        2 -Closing handshake.srt
        2 -Closing handshake.vtt
        3 -Extracting the body (closure code and reason) of the close frame.mp4
        3 -Extracting the body (closure code and reason) of the close frame.srt
        3 -Extracting the body (closure code and reason) of the close frame.vtt
        4 -Close Frame Structure.mp4
        4 -Close Frame Structure.srt
        4 -Close Frame Structure.vtt
        5 -Construct the payload buffer for the close frame.mp4
        5 -Construct the payload buffer for the close frame.srt
        5 -Construct the payload buffer for the close frame.vtt
        6 -Completing and sending the final close frame back to the client.mp4
        6 -Completing and sending the final close frame back to the client.srt
        6 -Completing and sending the final close frame back to the client.vtt
        7 -Testing our code.mp4
        7 -Testing our code.srt
        7 -Testing our code.vtt
        8 -Using Wireshark to master the TCP closure process.mp4
        8 -Using Wireshark to master the TCP closure process.srt
        8 -Using Wireshark to master the TCP closure process.vtt
        9 -Checking for ping and pong data type, and payloads larger than max size.mp4
        9 -Checking for ping and pong data type, and payloads larger than max size.srt
        9 -Checking for ping and pong data type, and payloads larger than max size.vtt
        
游客,如果您要查看本帖隐藏内容请回复


回复

使用道具 举报

1

主题

833

帖子

3303

积分

终身会员[B]

积分
3303

发表于 2025-8-20 17:28:39 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

0

主题

632

帖子

2026

积分

一代宗师

Rank: 7Rank: 7Rank: 7

积分
2026

发表于 2025-8-20 17:41:12 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

0

主题

1252

帖子

3755

积分

傲视群雄

Rank: 8Rank: 8

积分
3755

发表于 2025-8-20 20:24:43 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

3

主题

573

帖子

1915

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
1915

发表于 2025-8-20 20:26:38 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

4

主题

3950

帖子

1万

积分

超凡入圣

Rank: 10Rank: 10Rank: 10

积分
11411

发表于 2025-8-20 22:23:16 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

0

主题

6360

帖子

1万

积分

超凡入圣

Rank: 10Rank: 10Rank: 10

积分
16321

发表于 2025-8-20 22:37:57 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

13

主题

1127

帖子

4575

积分

傲视群雄

Rank: 8Rank: 8

积分
4575

发表于 2025-8-20 23:06:37 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

2

主题

850

帖子

3484

积分

傲视群雄

Rank: 8Rank: 8

积分
3484

发表于 2025-8-20 23:20:49 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

1

主题

439

帖子

1666

积分

一代宗师

Rank: 7Rank: 7Rank: 7

积分
1666

发表于 2025-8-21 00:08:21 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|dmz社区

GMT+8, 2026-7-30 11:38 , Processed in 0.051886 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表