TGViewer
InsightStream InsightStream @insightstream · 685 subscribers
Post #1241 327
​​ЧТО ТАКОЕ СОКЕТ И ЗАЧЕМ ОН НУЖЕН: КАК ПРИЛОЖЕНИЯ ЗВОНЯТ В ИНТЕРНЕТ С ВАШЕГО КОМПЬЮТЕРА И ПОЛУЧАЮТ ОТВЕТЫ
🤓💻
Эта статья расширяет ваш кругозор в вопросах устройства компьютеров и их софта. Текст про важную вещь в сетевой архитектуре, и он будет полезен тем, кто собирается проектировать софт, как-то связанный с интернетом.

Чтобы разобраться в том, что такое сокеты и чем они так полезны, нужно кое-что вспомнить из статей про IP-адреса и про порты в программировании. Вот короткая выжимка из этих статей:

📌 У каждого компьютера в сети есть IP-адрес, даже если это просто локальная сеть.
📌 IP-адрес — это четыре числа от 0 до 255, разделённые точками, например, 77.88.55.88 (это адрес сервера Яндекса).
📌 С помощью этих адресов компьютеры знают, куда направить свои запросы и ответы.
📌 Когда один компьютер соединяется с другим, они это делают через сетевой порт. Можно сказать, что порт — это номер соединения.
📌 Сетевые порты в компьютере нумеруются от 1 до 65535, а компьютер сам следит за тем, как распределяются эти номера.
📌 С помощью портов компьютер понимает, какие данные предназначены какой программе.
📌 Некоторые программы и соединения всегда используют один и тот же порт, а другие получают его случайным образом.

Главное: что такое сокет

Сокет — это виртуальная конструкция из IP-адреса и номера порта. Её придумали для того, чтобы разработчикам было проще писать код, а программы могли передавать данные друг другу даже в пределах одного компьютера.

⭐️ Можно представить, что сокет — это виртуальная труба, которую строят между двумя приложениями, чтобы гонять между ними данные. Приложения видят только концы трубы, а как проходит трубопровод — они не знают и им неважно.

Смысл в том, чтобы программист работал не с IP-адресами и портами, разбираясь в тонкостях работы протоколов, а использовал что-то попроще. В итоге получается так:Что такое протокол

✨ программист пишет в программе, что он хочет сделать новый сокет;
✨ указывает для него IP-адрес, если это необходимо;
✨ программа собирает это в виртуальную конструкцию, и получается сокет;
✨ после этого программист может отправлять данные просто в сокет и принимать их оттуда, а компьютер берёт на себя все вопросы по передаче данных.

Для чего нужны сокеты

Сокеты используют для двух вещей:

1️⃣ для передачи данных по сети;
2️⃣ и для связи между приложениями.

Как работает передача по сети, расскажем ниже, а сейчас поговорим про связь между приложениями. Идея в том, что если на компьютере запустить два приложения и в каждом из них настроить сокеты, то можно передавать данные из одного в другое даже без API. Например, на внутренних сокетах работают многие служебные программы — так они передают данные в операционную систему. Что такое API

На сокетах работает половина интернета. Например, чтобы получить данные из мобильного приложения, сервер запускает у себя сокет для связи с приложением. Каждое приложение тоже открывает свой сокет, связывается через него с сервером, и так они обмениваются данными.

Но сокет на сервере один, а желающих подключиться к нему — много. Чтобы решить эту проблему, сервер копирует сокеты.

🍀 Source >>>

#dev #development #likbez #product #technology
More from @insightstream
  1. Apr 16, 2023​​Тренды дизайна презентаций 2023 года by Студия VisualMethod 🚀👁👩‍🏫 Тренды 2023 года м…
  2. Apr 12, 2023​​«Метод персон» и Jobs to Be Done. Что лучше для работы с целевой аудиторией 🧑🏻‍🎨↔️👩�…
  3. Mar 30, 2023​​ЦЕННОСТЬ ДИЗАЙНА ДЛЯ БИЗНЕСА: ТЕЗИСЫ ДОКЛАДА by McKinsey 👩🏻‍💻🎨💸 Международная конса…
  4. Mar 28, 2023​​КАК ПРОВЕСТИ A/B-ТЕСТИРОВАНИЕ И ПОДНЯТЬ КОНВЕРСИЮ САЙТА? ✈️⚖️🅰️🅱️ ⏱ Таймкоды: 0:00 О ч…
  5. Mar 25, 2023​​SPARKS OF ARTIFICIAL GENERAL INTELLIGENCE: EARLY EXPERIMENTS WITH GPT-4 | MICROSOFT RESE…
  6. Mar 23, 2023​​YANDEX CLOUD ОБНОВИЛ СЕРВИС YANDEX TRACKER ДЛЯ КОМПАНИЙ — ДОБАВИЛ СТАРТОВЫЕ СТРАНИЦЫ И С…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →