آموزش یک سرور WebSocket با Node.js بسازید - بدون کتابخانه - 2024

دانلود Build a WebSocket server with Node.js - no libraries - 2024

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: دوره پیشرفته سرور WebSocket برای همه! یک سرور WebSocket از ابتدا با استفاده از جاوا اسکریپت بسازید. بدون کتابخانه یک سرور سفارشی بسازید که بتواند قطعات بزرگی از داده های WebSocket را دریافت کند، بر مفاهیم تکه تکه شدن، پخش جریانی و تکه ها تسلط پیدا کنید. تجزیه بیتی را بیاموزید (عملگرهای شیفت، AND، OR و XOR) درک و کار با بافرها به دست آوردن درک عمیق از WebSocket های خالص (بدون کتابخانه) پردازش باینری داده های WebSocket از دیباگر برای تست و رفع کد سرور استفاده کنید. درک هش SHA و ماژول رمزنگاری پیش نیازها: دانش اولیه WebSockets مورد نیاز است. پروتکل WebSockets من را بررسی کنید - دوره بسیار آموزنده دانش پایه جاوا اسکریپت و HTML مفید خواهد بود. تمایل به درک عملکردهای درونی پروتکل WebSocket خالص (بدون کتابخانه) به رایانه نیاز است زیرا برای یادگیری مؤثر باید در کنار من کدنویسی کنید.

مهارت های وب سوکت خود را به سطح بعدی ببرید!

  • یک سرور WebSocket کامل با استفاده از Node.js و جاوا اسکریپت خالص از ابتدا بسازید.

  • تجزیه بیتی را بیاموزید.

  • آشنایی با نحوه تجزیه و تحلیل یک قاب WebSocket (FIN، OPCODE، MASKING، PAYLOAD)

  • بدون کتابخانه.

  • بدون ماژول.

ما فقط از Node.js خالص و جاوا اسکریپت خالص استفاده می کنیم تا بیشترین سود را برای شما داشته باشیم.

با داده های بزرگ تماس نگیرید. گام به گام به شما نشان می‌دهم که چگونه یک برنامه WebSocket ایجاد کنید که داده‌های بزرگی را از یک کلاینت دریافت می‌کند و آن را از طریق اتصال WebSocket ارسال می‌کند. مهم: یک مزیت بزرگ در دوره من این است که شما یاد می گیرید که چگونه محموله های عظیم ارسال کنید. بنابراین یاد می گیرید که چگونه انقباض، استریم و تکه تکه شدن را به درستی مدیریت کنید. ممکن است این اطلاعات را در جای دیگری دریافت نکنید.

مناطق کانونی کلیدی

  • Node.js خالص و جاوا اسکریپت: خود را قدرتمند کنید. در هنر ساختن سرور WebSocket از ابتدا تسلط داشته باشید و فقط از قابلیت‌های اصلی Node.js و جاوا اسکریپت استفاده کنید.

  • Handling Large Payload: برخلاف سایر منابعی که بر محموله های کوچک تا متوسط ​​تمرکز دارند، این دوره به شما یاد می دهد که چگونه تقسیم و تکه تکه شدن را برای انتقال داده های بزرگ مدیریت کنید. این یک مهارت حیاتی است، زیرا مدیریت محموله های بزرگ یک چالش مهم است که بسیاری از توسعه دهندگان از آن اجتناب می کنند.

  • برنامه دنیای واقعی : برنامه ای را توسعه دهید که بتواند به طور مؤثری بار داده های بزرگ را مدیریت کند و از قوی، مقیاس پذیر و قابل اعتماد بودن سرور WebSocket شما اطمینان حاصل کند.

چنین دوره جامع و پیشرفته ممکن است در جای دیگری موجود نباشد. دوره من به نوشتن کد سرور بومی خالص که بر WebSockets تمرکز دارد اختصاص دارد. این دوره مخصوصاً ویژه است زیرا من به شما نشان می دهم که چگونه با ارسال و دریافت محموله های داده بزرگ با WebSockets مدیریت کنید. . بیشتر دوره‌ها یا اطلاعات دیگر در وب فقط بر محموله‌های کوچک تا متوسط ​​متمرکز هستند. انجام این کار نسبتاً آسان است. بنابراین، همانطور که به علامت تجاری یا ویژگی دوره هایم تبدیل شده است، به مسائل عملی سخت می پردازم تا یادگیری شما را به سطح بعدی ارتقا دهم تا بیشترین بهره را ببرید.


شما باید بارهای بزرگ را با سوکت های وب تامین کنید

اغلب یک کاربر نیاز به ارسال چندین مگابایت به گیگابایت دارد. بنابراین اطلاعات و دوره های موجود که حجم داده WebSocket را به 65535 بایت محدود می کند کافی نیست

این به اندازه کافی برای شما خوب نیست!

بسیاری از برنامه‌های کاربردی مدرن، مانند تجزیه و تحلیل بلادرنگ، اشتراک‌گذاری فایل، به‌روزرسانی‌های زنده، و پخش جریانی چندرسانه‌ای، شامل انتقال مقادیر زیادی داده می‌شوند. اگر سرور WebSocket شما نتواند این بارهای بزرگ را مدیریت کند، ممکن است منجر به مشکلات عملکرد، از دست دادن داده یا حتی خرابی شود.

چالش های ایجاد یک سرور وب سوکت برای بارهای بزرگ

در حالی که خود پروتکل WebSocket برای مدیریت ارتباط مداوم و دو جهته طراحی شده است، ساخت سروری که به طور موثر بارهای سنگین را مدیریت می کند، به دلایل مختلفی می تواند چالش برانگیز باشد:

  1. پیچیدگی پروتکل: پروتکل WebSocket شامل چندین لایه پیچیدگی است، از جمله تکه تکه شدن قاب بندی پیام و تکه تکه شدن. درک این تفاوت های ظریف برای ایجاد یک سرور قوی ضروری است.

  2. بافر و جریان: بارهای بزرگ اغلب به مکانیسم‌های بافر و جریان کارآمد نیاز دارند تا از سرریز حافظه جلوگیری کرده و از انتقال روان داده اطمینان حاصل کنند. اجرای صحیح این مکانیسم ها می تواند مشکل باشد.

  3. مدیریت خطا: محموله های بزرگ احتمال خطا را در حین انتقال افزایش می دهد. یک سرور با طراحی خوب باید دارای مکانیسم‌های مدیریت خطا باشد تا به‌خوبی چنین خطاهایی را مدیریت و بازیابی کند.

  4. دوره من اینجاست تا شما را بی شرمانه توانمند کنم.

چرا دانستن نحوه ساخت یک سرور WebSocket کاملاً کاربردی یک تغییر بازی برای توسعه دهندگان برنامه وب است

#1 درک عمیق و سفارشی سازی. ساخت سرور Node.js WebSocket از ابتدا بدون استفاده از کتابخانه ها برای توسعه دهندگان وب بسیار مهم است زیرا درک عمیقی از پروتکل زیربنایی و مکانیزم آن ارائه می دهد. با پیاده‌سازی WebSockets صرفاً در جاوا اسکریپت، توسعه‌دهندگان تجربه عملی در مورد پیچیدگی‌های ارتباطات بلادرنگ، از جمله قاب‌بندی، تکه‌کردن، کار با جریان‌های خوانا، تکه تکه‌سازی و مدیریت خطا به دست می‌آورند. این دانش امکان سفارشی‌سازی و بهینه‌سازی بهتر سرور را برای برآورده کردن نیازهای برنامه خاص، تضمین عملکرد و مقیاس‌پذیری فراهم می‌کند.

شماره 2. تسلط بر مفاهیم اصلی و انعطاف پذیری. یادگیری ساخت یک سرور WebSocket از ابتدا همچنین مهارت های حل مسئله و انعطاف پذیری را افزایش می دهد. بدون انتزاع کتابخانه‌ها، توسعه‌دهندگان باید با تمام جزئیات، از برقراری ارتباط گرفته تا مدیریت وضعیت و مدیریت خطاها، رسیدگی کنند. این رویکرد درک جامعی از فناوری را تقویت می‌کند و توسعه‌دهندگان را قادر می‌سازد تا برنامه‌های کاربردی خود را به طور مؤثرتری عیب‌یابی و بهینه کنند. علاوه بر این، امکان ایجاد راه‌حل‌های سفارشی را فراهم می‌کند که می‌توانند با موارد استفاده مختلف تطبیق داده شوند و توسعه‌دهنده را در مدیریت برنامه‌های پیچیده بی‌درنگ تطبیق‌پذیرتر و ماهرتر می‌کند.

این دوره بر پروتکل خالص وب سوکت، آموزنده، بدون کتابخانه تمرکز دارد.


چه مهارت هایی لازم است؟

شما باید یک ایده اولیه از چیستی WebSockets داشته باشید.

اگر قبلاً با این اصطلاح برخورد نکرده‌اید، توصیه می‌کنم در دوره آموزشی WebSockets Protocol - Very Informative شرکت کنید. در آن دوره، من شما را از طریق پروتکل WebSocket از اصول اولیه تا پیشرفته راهنمایی می کنم.

دانش اولیه HTTP، HTML و جاوا اسکریپت نیز مفید خواهد بود.


آنچه در این دوره خواهید آموخت

این دوره جامع دارای محتوای منحصربفردی است و شما را در تمام مراحل ساخت سرور Node.js WebSocket از ابتدا و بدون اتکا به هیچ کتابخانه ای راهنمایی می کند. شما درک عمیقی از پروتکل WebSocket به دست خواهید آورد و بر اجرای آن در سمت سرور مسلط خواهید شد.

شما پروتکل WebSocket را یاد خواهید گرفت و به آن مسلط خواهید شد، بدون اتکا به کتابخانه ها.

1. ایجاد سرور HTTP اولیه:

با راه اندازی یک سرور HTTP، که به عنوان پایه اتصال WebSocket شما عمل می کند، شروع کنید.

2. اجرای فرآیند دست دادن:

با نحوه محاسبه مقدار Sec-WebSocket-Accept در سرور و ارسال سرصفحه های مورد نیاز برای ارتقاء اتصال HTTP به اتصال WebSocket آشنا شوید.

3. دریافت داده های WebSocket :

با نحوه گوش دادن به رویدادهای داده در اتصال WebSocket آشنا شوید.

اطلاعات مهم را از فریم‌های WebSocket استخراج کنید، از جمله فیلدهای بیت FIN، کد عملیاتی و طول بار.

با نحوه استخراج کلید پوشاننده از مشتری و استفاده از آن برای رمزگشایی داده های دریافتی آشنا شوید.

4. ارسال اطلاعات WebSocket:

ساختار قاب‌های داده WebSocket را باز کنید.

فریم های باینری را از طریق سیم برای مشتری بسازید و بفرستید.

5. کنترل قاب های بسته و دست دادن بسته :

با نحوه پردازش انواع قاب های WebSocket، از جمله قاب های بسته آشنا شوید.

نحوه استخراج کدهای بسته شدن و دلایل را در مشتری و سرور درک کنید.

نحوه ارسال یک قاب نزدیک به مشتری را کشف کنید و اتصال WebSocket زیرین را مطابق با RFC به آرامی ببندید.

مفاهیم پیشرفته تحت پوشش

    • بافرها و تجزیه بیتی: بر استفاده از بافرها و عملیات بیتی برای تجزیه و ساخت فریم های WebSocket مسلط شوید. این مفاهیم همچنین در بسیاری از زبان های برنامه نویسی دیگر مانند PHP، Python، C، C++، Java و غیره استفاده می شود و شما را برای موفقیت آماده می کند.

    • قطعه‌سازی و تکه‌تکه‌کردن: نحوه مدیریت بارهای بزرگ را با تکه‌تکه و تکه تکه کردن داده‌ها مطابق با پروتکل WebSocket بیاموزید.

    • خواندن و نوشتن در بافرها: نحوه خواندن و نوشتن کارآمد از بافرها را بدانید.

    • هش کردن SHA : نحوه انجام هش SHA-1 برای دست دادن WebSocket را بیاموزید.

    • بررسی بسته‌های داده: بینش در مورد بررسی و پردازش بسته‌های داده با استفاده از عملگرهای بیتی به دست آورید.

    • رمزگذاری و رمزگشایی داده ها: نحوه رمزگذاری و رمزگشایی داده ها با استفاده از کلید پوشاندن و عملگر مدول را بدانید.

    • و تن بیشتر!


چرا این دوره متمایز است

تمرکز روی شماست. این دوره منحصراً به نوشتن کد سرور بومی خالص برای WebSockets اختصاص دارد، موضوعی که اغلب به نفع راه حل های ساده تر و مبتنی بر کتابخانه نادیده گرفته می شود.

این دوره به شما نشان می‌دهد که چگونه با حجم‌های بزرگ داده WebSocket برخورد کنید، درک عمیقی از پروتکل WebSocket و مهارت‌هایی برای مقابله با سخت‌ترین برنامه‌های هم‌زمان به دست خواهید آورد


با مربی خود آشنا شوید: کلاید

کلاید یکی از علاقه مندان به برنامه نویسی است که از سن 7 سالگی در دنیای کامپیوتر غرق شده است.

کلاید با سالها تجربه در توسعه وب و اشتیاق به تدریس، دانش و بینش عملی زیادی را در این دوره به ارمغان می آورد. سبک تدریس جذاب و مثال‌های واقعی او مفاهیم پیچیده را در دسترس و لذت‌بخش می‌سازد.


اکنون ثبت نام کنید

این فرصت را از دست ندهید تا مهارت های توسعه وب خود را با ساختن سرور WebSocket از ابتدا ارتقا دهید.

توسعه وب یک موضوع داغ در حال حاضر است. اما شما یک مزیت مشخص دارید. این دوره موضوعات یادگیری به یاد ماندنی، تاکتیک های عملی و نمونه های واقعی را ارائه می دهد.

آماده شوید تا پروژه‌های خود را به تجربه‌های تعاملی تبدیل کنید که کاربران را مجذوب خود می‌کند و برای شما درآمد کسب می‌کند!

بیایید کرک کنیم


سرفصل ها و درس ها

مقدمه Introduction

  • مقدمه Introduction

  • برای ساخت سرور WebSocket، باید با RFC سازگار باشیم To build a WebSocket server, we need to be RFC compliant

  • ساختار دوره Course Structure

  • امور را در دستان خود بگیرید. Take matters into your own hands.

  • مبانی راه اندازی یک سرور WebSocket Foundations of setting up a WebSocket server

ایجاد سرور NodeJS Creating a NodeJS server

  • هدف سرور WebSocket: ایجاد یک وب سرور HTTP WebSocket Server Goal: Create a HTTP web-server

  • فایل های پروژه: شروع HTML و CSS Project Files: starting HTML and CSS

  • مروری بر HTML و CSS Overview of HTML and CSS

  • راه اندازی سرور HTTP ما Setting up our HTTP server

  • ایجاد ماژول های سفارشی و تکمیل سرور HTTP Creating custom modules and finishing off the HTTP server

  • پیاده سازی مدیریت خطاهای اساسی Implementing basic error handling

  • استفاده از "Run and Debug" برای بررسی حلقه forEach Using "Run and Debug" to examine the forEach loop

  • تست کد رسیدگی به خطای ما Testing our error handling code

  • فایل های پروژه: سرور HTTP Project Files: HTTP server

  • ایجاد وب سرور Creating a web server

ایجاد یک اتصال وب سوکت Establishing a WebSocket Connection

  • هدف سرور WebSocket: ایجاد یک اتصال WebSocket WebSocket Server Goal: Establish a WebSocket Connection

  • استفاده از شنونده رویداد "ارتقا" برای دریافت 3 شی مهم Using the 'upgrade' event listener to receive 3 important object

  • بررسی شی درخواست در ترمینال Examining the request object in the terminal

  • خواندن سرصفحه های درخواست دست دادن باز مشتری Reading the client's opening handshake request headers

  • ارسال یک پاسخ "400 درخواست بد" در صورت عدم موفقیت هدرهای دست دادن مشتری Sending a "400 Bad Request" response if the client handshake headers fail

  • شی سرصفحه پاسخ سرور را ایجاد کنید Generate the server response headers object

  • استخراج Sec-WebSocket-Key و استفاده از ماژول رمزنگاری Extracting the Sec-WebSocket-Key and using the crypto module

  • تایم اوت SHA-hashing و ماژول رمزنگاری چیست؟ Timeout! What is SHA-hashing and the crypto module?

  • مقدار Sec-WebSocket-Accept را ایجاد کنید و هدرها را برای مشتری ارسال کنید Generate the Sec-WebSocket-Accept value and send back headers to the client

  • آزمایش کد ما و باز کردن یک اتصال WebSocket معتبر Testing our code and opening up a valid WebSocket connection

  • خلاصه Summary

  • فایل های پروژه: ایجاد یک اتصال WebSocket Project Files: Establishing a WebSocket connection

  • ایجاد یک اتصال وب سوکت Establishing a WebSocket Connection

دریافت داده های WebSocket Receiving WebSocket Data

  • هدف سرور WebSocket: استخراج داده های Payload WebSocket Server Goal: Extract Payload Data

  • تنظیم فایل ما برای هدف بعدی Setting up our file for the next goal

  • شی سوکت از کلاس stream.Duplex به ارث می برد The socket object inherits from the stream.Duplex class

  • شی سوکت یک جریان دوبلکس است که به ما امکان می دهد به تکه ها گوش دهیم The socket object is a duplex stream, allowing us to listen for chunks

  • تعریف مدیریت رویداد داده ما Defining our data event handler

  • برش سریع - اضافه کردن شنونده رویداد "پایان" به شی سوکت ما Quick cut - adding the 'end' event listener to our socket object

  • تابع processBuffer() را تعریف کنید Define the processBuffer() function

  • ساختار فریم باینری WebSocket The WebSocket binary frame structure

  • کدگذاری تابع حلقه مدیریت وظیفه Coding the task management looping function

  • 2 بایت اول داده را از قاب داده WebSocket استخراج کنید Extract the first 2 bytes of data from the WebSocket data frame

  • بافرها چیست؟ What are Buffers?

  • بافرها اجباری هستند Buffers are mandatory

  • چرا حرف "a" به صورت 7 بایت ارسال می شود؟ Why is the letter "a" sent as 7 bytes?

  • استفاده از ابزار Debugger برای تجزیه و تحلیل کد Using the Debugger tool to analyze code

  • استخراج بیت FIN Extracting the FIN bit

  • عملگرهای بیتی Bitwise operators

  • استخراج اطلاعات MASK، OPCODE و LENGTH اولیه Extracting the MASK, OPCODE and initial LENGTH information

  • مراحل بعدی Next steps

  • تنظیم کد برای استخراج جزئیات طول بار Setting up code to extract the payload length details

  • 3 دسته از طول بار The 3 categories of payload lengths

  • جمع بندی طول بار محموله Payload length recap

  • محاسبه طول بار Calculating the payload length

  • خلاصه Summary

  • تفکیک متد getLength(). Breakdown of the getLength() method

  • متد readUint16BE(). The readUInt16BE() method

  • بررسی طول بار Payload length checks

  • مراحل بعدی Next Steps

  • کلید Masking را استخراج کنید Extract the Masking Key

  • مراحل بعدی Next steps

  • متد ()getPayload را تعریف کنید Define the getPayload() method

  • بررسی اینکه آیا به تکه‌های داده اضافی نیاز داریم یا خیر Checking for whether we need additional chunks of data

  • استخراج یک فریم کامل از داده ها (ماسک) Extract one full frame of data (masked)

  • چرا از متد _consumeHeader() استفاده نکردم؟ Why did I not use the _consumeHeader() method?

  • برداشتن نقاب محموله قاب Unmasking the frame payload

  • عملوند مدول چیست؟ What is the modulus operand

  • یک آرایه قطعات پایدار ایجاد کنید و فریم های بیشتری را بررسی کنید (بررسی بیت FIN) Create a persistent fragments array and check for more frames (FIN bit check)

  • چرا آرایه قطعه داریم؟ Why have a fragments array?

  • بارهای کوچک - استفاده از دیباگر برای تجزیه و تحلیل منطق SMALL payloads - Using the debugger to analyze logic

  • رفع خطا در متد ()consumePayload ما Fixing the error in our consumePayload() method

  • اضافه کردن یک دکمه از قبل به HTML Adding a prepopulate button to the HTML

  • MEDIUM Payloads - استفاده از دیباگر برای تجزیه و تحلیل منطق MEDIUM Payloads - Using the debugger to analyze logic

  • چرا از readUint16BE() استفاده کردم Why did I use readUInt16BE()

  • بارهای بزرگ: قسمت 1 از 3. درک منطق getLength(). LARGE Payloads: Part 1 of 3. Understanding getLength() logic

  • BigInt چیست؟ What is BigInt?

  • تکه ها، فریم ها و پیام ها Chunks, Frames and Messages

  • بارهای بزرگ: قسمت 2 از 3. در انتظار تکه های اضافی LARGE Payloads: Part 2 of 3. Waiting for additional chunks

  • بارهای بزرگ: قسمت 3 از 3. پردازش کل محموله به قطعات _ LARGE Payloads: Part 3 of 3. Processing the entire payload into _fragments

  • نظرات را بهبود می بخشد و بررسی های Opcode را اضافه می کند Improvements comments and adding opcode checks

  • پیشرفته - تغییر اندازه تکه بین دیباگر در مقابل محیط زنده Advanced - chunk size variation between debugger vs live environment

  • بهبود متد _getInfo() ما Improving our _getInfo() method

  • فایل های پروژه: استخراج داده های Payload Project Files: Extract Payload Data

  • دریافت داده های WebSocket Receiving WebSocket data

ارسال داده های WebSocket Sending WebSocket Data

  • هدف سرور WebSocket: ارسال یک پیام WebSocket WebSocket Server Goal: Send A WebSocket Message

  • آماده سازی فایل های پروژه برای ارسال داده ها به مشتری Getting project files ready to send data to the client

  • ایجاد طرحی از فریم ارسال Creating a blueprint of the sending frame

  • محاسبه اندازه فیلد هدر با طول متغیر Calculating the size of the variable-length header field

  • هدرهای فریم با اندازه متغیر در WebSockets Variable-Sized Frame Headers in WebSockets

  • طرح بافر فریم باینری را ایجاد کنید Create the binary frame buffer blueprint

  • ایجاد اولین بایت فریم Creating the first byte of the frame

  • چرا انتخاب کردم که opcode را روی باینری تنظیم کنم Why did I choose to set opcode to BINARY

  • عملگرهای شیفت بیتی Bitwise shift operators

  • هدر فریم را با داده پر کنید Populate the frame header with data

  • ارسال فریم برای مشتری Sending the frame to the client

  • آزمایش اینکه آیا مشتری فریم را دریافت کرده است یا خیر Testing whether the client received the frame

  • حباب - آیا می دانستید؟ Blobs - did you know?

  • ارسال داده به کلاینت از طریق متد write(). Sending data to the client via the write() method

  • ایجاد تابع reset() Creating a reset() function

  • استفاده از ابزار دیباگر برای بررسی کد Using debugger tool to examine code

  • WebSocket API چگونه تقسیم بندی را مدیریت می کند How does the WebSocket API handle fragmentation

  • نمایش پیام WebSocket در سمت سرویس گیرنده Displaying the WebSocket message on the client-side

  • چرا از رابط FileReader استفاده کردم؟ Why did I use the FileReader interface?

  • فایل های پروژه: ارسال داده ها Project Files: Sending Data

  • ارسال داده های WebSocket Sending WebSocket Data

پاسخ به قاب بسته شدن Responding to a closure frame

  • هدف سرور WebSocket: ارسال و دریافت یک قاب بسته WebSocket Server Goal: Send & Receive A Closure Frame

  • تنظیم کد پروژه و تعریف مینی هدف ما Setting up project code and defining our mini-goal

  • بستن دست دادن Closing handshake

  • استخراج بدنه (کد بستن و دلیل) قاب بسته Extracting the body (closure code and reason) of the close frame

  • هر دو همتا باید یک قاب بسته ارسال کنند Both peers have to send a close frame

  • بستن ساختار قاب Close Frame Structure

  • بافر محموله را برای قاب بسته بسازید Construct the payload buffer for the close frame

  • کدهای بسته شدن Closure codes

  • تکمیل و ارسال فریم بسته نهایی به مشتری Completing and sending the final close frame back to the client

  • تست کد ما Testing our code

  • استفاده از Wireshark برای تسلط بر فرآیند بسته شدن TCP Using Wireshark to master the TCP closure process

  • بررسی نوع داده «پینگ» و «پنگ» و محموله‌های بزرگ‌تر از حداکثر اندازه Checking for "ping" and "pong" data type, and payloads larger than max size

  • پینگ و پنگ Ping and Pong

  • پینگ و پوینگ در مقابل TCP Keepalive Ping & Poing vs TCP Keepalive

  • استخراج پاسخ سرور از شی CloseEvent Extracting the server response from the CloseEvent object

  • ارسال یک قاب بسته در صورتی که بیت ماسک به درستی توسط مشتری تنظیم نشده باشد Sending a closure frame if the masking bit is not set correctly by the client

  • بررسی کنید که آیا مشتری کد بسته شدن را ارسال کرده است یا خیر Check whether client has sent a closure code

  • نمایش پیام بسته شدن پیش فرض (برای رویداد بسته شدن عادی) Displaying default closure message (for normal closure event)

  • رفع نظرات و حذف متن پاسخ سرور هنگام اتصال جدید Fixing comments and removing server response text when new connection is made

  • اعتبار سنجی سمت سرور برای متن Server side validation for text

  • رفع مشکل refresh که سرور را از بین می برد Fixing the refresh issue killing the server

  • فایل های پروژه: برخورد با فریم های بسته Project Files: Dealing with Closure Frames

  • بستن یک اتصال WebSocket Closing a WebSocket Connection

خروجی و مراحل بعدی Outro & next steps

  • مراحل بعدی Next Steps

نمایش نظرات

آموزش یک سرور WebSocket با Node.js بسازید - بدون کتابخانه - 2024
جزییات دوره
8.5 hours
119
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
304
5 از 5
دارد
دارد
دارد
Clyde Matthew
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Clyde Matthew Clyde Matthew

همه چیز همیشه #000000 و #FFFFFF نیست