Разница между socket.io и модулем Node Net

Я недавно наткнулся на сетевой модуль Node, мне было интересно, будет ли использование этого модуля эквивалентом использования модуля socket.io. В чем разница между ними? Благодарность!

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
6
0
1 683
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

I have recently come upon Node's net module, I was wondering if using this module would be the equivalent of using the socket.io module.

Нет, это даже не одно и то же.

Сетевой модуль узла - это базовый низкоуровневый интерфейс TCP и UDP. Это позволяет вам установить TCP или UDP-соединение с какой-либо конечной точкой, а затем отправлять или получать данные с этой конечной точки по этому соединению. Это необработанные TCP-соединения. Вы определяете протокол, формат данных и все соглашения, используемые при обмене данными. Все, что делает TCP, - это доставляет ваши данные от одного конца до другого.

socket.io находится на другом конце сетевого стека.

socket.io
webSocket
TCP

WebSocket построен поверх TCP. У него есть собственная уникальная схема подключения, которая начинается с http-соединения с определенными настраиваемыми заголовками, а затем запрашивает «обновление» протокола webSocket. Если сервер одобряет обновление, то тот же TCP-сокет, через который было запущено http-соединение, преобразуется в протокол webSocket. Протокол webSocket имеет собственное уникальное шифрование и формат данных.

Socket.io построен на основе протокола webSocket (что означает, что он использует протокол webSocket для обмена данными). Socket.io имеет собственную уникальную схему подключения (начинается с HTTP-опроса, затем переключается на обычный webSocket, если это допустимо), и он имеет дополнительную структуру данных, построенную поверх фрейма данных webSocket, которая определяет имя сообщения, пакет данных и несколько других домашних вещей.


socket.io и webSocket поддерживаются браузером Javascript. Обычное TCP- или UDP-соединение не поддерживается браузером Javascript. Итак, если бы вы хотели общаться с браузером, вы бы не использовали простой TCP.

Другие вопросы по теме