Что такое «программирование сокетов»?

Периодически слышу про сокеты в таком контексте. Например пару раз на собеседовании спрашивали, занимался ли я, либо не хотел бы заняться "программированием сокетов"?
Что? Ну я помню, что сокет - это пара ip-порт, о них речь? Еще есть для процессоров 1151 и т.п.
Если речь про ip-порт, то что тогда подразумевается под этой фразой? Неужели это какая-то отдельная большая дисциплина, передать данные с одного сокета на другой?
  • Вопрос задан
  • 762 просмотра
Пригласить эксперта
Ответы на вопрос 3
rockon404
@rockon404
Frontend Developer
WebSockets. Вас как веб-разработчика, скорей всего, спрашивали именно о них.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Сокет — это абстракция, принятая в Unix и перешедшая в Windows, представляющая собой сетевое соединение.
https://ru.wikipedia.org/wiki/Сокеты_Беркли
Ответ написан
Комментировать
@anikavoi
Сокет, это не "пара ip-порт", это именно "управление соединением", ибо на одном порту одного ip может быть присоеденено несколько соединений (сервера, ага!)

С сокетом производятся операции. Ввода-вывода, изменения состояния, опроса, и т.д.

Когда ты создаещь сокет, у него еще нет никокого ip и порта. Они появятся позже (или не появятся, если это raw-сокет).

К созданному сокету, можно прибиндить (bind) порт - тогда соединения на этот порт изменят состояние сокета (в случае tcp - кроме bind нужно еще listen и accept).

Если сокету сделать connect - то он создаст соединение с сервером.

Короче - сокет, это дескриптор управления!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы