dmz社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 265|回复: 16

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

[复制链接]
  • TA的每日心情
    慵懒
    2025-8-1 07:20
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    104

    主题

    122

    帖子

    685

    积分

    荣誉会员

    积分
    685

    发表于 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、本站所有内容均为互联网收集或网友分享或网络购买,本站不破解、不翻录任何视频!
    2、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意!
    3、本站资源仅供本站会员学习参考,不得传播及用于其他用途,学习完后请在24小时内自行删除.
    4、本站资源质量虽均经精心审查,但也难保万无一失,若发现资源有问题影响学习请一定及时点此进行问题反馈,我们会第一时间改正!
    5、若发现链接失效了请联系管理员,管理员会在2小时内修复
    6、如果有任何疑问,请加客服QQ:1300822626 2小时内回复你!
    回复

    使用道具 举报

  • TA的每日心情
    难过
    昨天 11:43
  • 签到天数: 531 天

    [LV.9]以坛为家II

    1

    主题

    794

    帖子

    3123

    积分

    终身会员[B]

    积分
    3123

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 12:52
  • 签到天数: 79 天

    [LV.6]常住居民II

    0

    主题

    313

    帖子

    872

    积分

    技冠群雄

    Rank: 6Rank: 6

    积分
    872

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 22:46
  • 签到天数: 349 天

    [LV.8]以坛为家I

    0

    主题

    1112

    帖子

    3211

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    3211

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

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 217 天

    [LV.7]常住居民III

    1

    主题

    497

    帖子

    1627

    积分

    终身会员[A]

    Rank: 7Rank: 7Rank: 7

    积分
    1627

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:32
  • 签到天数: 908 天

    [LV.10]以坛为家III

    3

    主题

    2946

    帖子

    8653

    积分

    超凡入圣

    Rank: 10Rank: 10Rank: 10

    积分
    8653

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:34
  • 签到天数: 1044 天

    [LV.10]以坛为家III

    0

    主题

    5573

    帖子

    1万

    积分

    超凡入圣

    Rank: 10Rank: 10Rank: 10

    积分
    14262

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 17:11
  • 签到天数: 465 天

    [LV.9]以坛为家II

    7

    主题

    720

    帖子

    2852

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    2852

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 23:08
  • 签到天数: 478 天

    [LV.9]以坛为家II

    2

    主题

    748

    帖子

    3007

    积分

    傲视群雄

    Rank: 8Rank: 8

    积分
    3007

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 23:39
  • 签到天数: 174 天

    [LV.7]常住居民III

    0

    主题

    293

    帖子

    1137

    积分

    技冠群雄

    Rank: 6Rank: 6

    积分
    1137

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

    使用道具 举报

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

    本版积分规则

    QQ|Archiver|小黑屋|本站代理|dmz社区

    GMT+8, 2025-9-16 08:44 , Processed in 0.272034 second(s), 13 queries , Redis On.

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2021, Tencent Cloud.

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