Что такое сокет?
Вы постоянно слышите разговоры о каких-то «сокетах» и, наверно, вам интересно, что же это такое. В общем, изначально сокеты — это способ общения программ друг с другом, используя файловые дескрипторы Unix.
Что?
Ок — возможно, вы слышали от какого-нибуть Unix-хакера фразу типа «господи, всё, что есть в Unix — файлы!» Этот человек, возможно, имел в виду, что программы в Unix при абсолютно любом вводе-выводе читают или пишут в файловый дескриптор. Дескриптор файла — это простое целое число, связанное операционной системой с открытым файлов. Но (и в этом заключается ловушка) файлом может быть и сетевое подключение, и FIFO, и пайпы, и терминал, и реальный файл на диске, и просто что угодно другое. Всё в UNIX — это файл! Итак, просто поверьте, что собираясь общаться с другой программой через интернет, вам придется делать это через дескриптор файла.
«Эй, умник, а откуда мне взять этот дескриптор файла для работы в сети?» Отвечу.
Вы совершаете системный вызов socket(). Он возвращает дескриптор сокета, и вы общаетесь через него с помощью системных вызовов send() и recv() (man send, man recv).
«Но, эй!» могли бы вы воскликнуть. «Если это дескриптор файла, почему я не могу использовать простые функции read() и write(), чтобы общаться через него?». Ответ прост: «Вы можете!». Немного развернутый ответ: «Вы можете, но send() и recv() предлагают гораздо больший контроль над передачей ваших данных.»
Что дальше? Как насчет этого: бывают разные виды сокетов. Есть DARPA инернет-адреса (Сокеты интернет), CCITT адреса ( сокеты, которые вам не нужны), и, вероятно, многие другие в зависимости от особенностей вашей ОС. Этот документ описывает только первые, Интернет-Сокеты.
18 views
2149
646
3 days ago 00:30:26 1
Орешник у Путина, а белка у Медведева
3 days ago 00:09:11 1
Nino Katamadze & Insight - Olei (Red Line)
3 days ago 00:21:47 2
🌐 С чего начать работу онлайн: 4 ключевых правила для достижения успеха. Работа в интернете.
3 days ago 00:58:42 1
ЧТО БУДЕТ В 2025 ГОДУ? Как спастись? Магия чисел, нумерология. МАРА БОРОНИНА / ПОДКАСТ ДИМОВА
3 days ago 00:03:51 1
Филипп Киркоров — «Чёрная пантера» (Премьера песни, 2024)
3 days ago 00:59:01 1
Что будет в ближайшем будущем? Контакт с неземными цивилизациями! МАРА БОРОНИНА