Что такое сокет?
Вы постоянно слышите разговоры о каких-то «сокетах» и, наверно, вам интересно, что же это такое. В общем, изначально сокеты — это способ общения программ друг с другом, используя файловые дескрипторы Unix.
Что?
Ок — возможно, вы слышали от какого-нибуть Unix-хакера фразу типа «господи, всё, что есть в Unix — файлы!» Этот человек, возможно, имел в виду, что программы в Unix при абсолютно любом вводе-выводе читают или пишут в файловый дескриптор. Дескриптор файла — это простое целое число, связанное операционной системой с открытым файлов. Но (и в этом заключается ловушка) файлом может быть и сетевое подключение, и FIFO, и пайпы, и терминал, и реальный файл на диске, и просто что угодно другое. Всё в UNIX — это файл! Итак, просто поверьте, что собираясь общаться с другой программой через интернет, вам придется делать это через дескриптор файла.
«Эй, умник, а откуда мне взять этот дескриптор файла для работы в сети?» Отвечу.
Вы совершаете системный вызов socket(). Он возвращает дескриптор сокета, и вы общаетесь через него с помощью системных вызовов send() и recv() (man send, man recv).
«Но, эй!» могли бы вы воскликнуть. «Если это дескриптор файла, почему я не могу использовать простые функции read() и write(), чтобы общаться через него?». Ответ прост: «Вы можете!». Немного развернутый ответ: «Вы можете, но send() и recv() предлагают гораздо больший контроль над передачей ваших данных.»
Что дальше? Как насчет этого: бывают разные виды сокетов. Есть DARPA инернет-адреса (Сокеты интернет), CCITT адреса ( сокеты, которые вам не нужны), и, вероятно, многие другие в зависимости от особенностей вашей ОС. Этот документ описывает только первые, Интернет-Сокеты.
10 views
2149
645
2 months ago 00:13:20 1
Почему взорвались пейджеры / СДПГ догоняет АдГ в Бранденбурге / Мерц отверг «Зеленых»
2 months ago 01:06:18 1
Фурсов: ОНИ хотят реванш? | Про дедушку Шольца, ГМО и “светлое“ будущее
2 months ago 00:04:08 1
Gotye performing “Somebody That I Used To Know“ Live on KCRW
2 months ago 00:22:10 1
Постановление Правительства №1710 Оплата ЖКХ
2 months ago 00:00:00 1
Субботний ламповый стрим!
2 months ago 01:15:38 1
𝐘𝐨𝐮’𝐫𝐞 𝐢𝐧 𝐭𝐡𝐞 𝟏𝟗𝐭𝐡 𝐜𝐞𝐧𝐭𝐮𝐫𝐲 𝐄𝐮𝐫𝐨𝐩𝐞 |
2 months ago 00:11:16 1
Камеди Клаб Харламов Батрутдинов Иванов «Вышел из комы»
2 months ago 00:03:43 1
TETRARCH - Live Not Fantasize (Official Video) | Napalm Records
2 months ago 08:17:44 1
ОТМЕЧАЕМ ДЕНЬ РОЖДЕНИЯ С ПОДПИСЧИКАМИ RADMIR RP
2 months ago 00:11:38 1
006 // Заходят как то в бар Кьюбайт и Мефисто | Радио Священного Таймлайна
2 months ago 01:29:21 1
ЗАВИСТЬ и как она влияет на всю вашу жизнь — Юлия Ивлиева | Шоу МЕТОД #7
2 months ago 00:09:50 1
Люди, бойтесь “цифру“, она бездушна. Обратно дороги нет!
2 months ago 01:18:03 1
Уважаемый Ватикан! Субъект Глобального права Мира от Русского наРОДа ждёт от Вас ответ в лице РОДа!
2 months ago 01:48:37 1
Руки прочь от моего героя!丨ВСЕ СЕРИИ丨русская озвучка | 让开,别改我男主
2 months ago 00:02:52 1
Vlog/ Я оно? / 🤡
2 months ago 00:12:01 1
СЕКРЕТ Пышного БИСКВИТА который НЕ ОПАДАЕТ! ПЫШНЫЙ БИСКВИТ без Разрыхлителя ❤️ Готовим Дома
2 months ago 00:04:08 1
GUF & BASTA - Не всё потеряно (Новая версия 2024)
2 months ago 00:46:32 1
Подружись с Тьмой. Эзотерика
2 months ago 01:01:39 1
Екатерина Фролова — новый гость подкаста #поТРЕНДим
2 months ago 00:18:24 1
Путин увеличивает армию | Как будет работать реестр повесток (English subtitles) @Max_Katz
2 months ago 00:13:35 1
Выход Айзекмана
2 months ago 00:02:19 1
Последняя поэма - песня из к/ф Вам и не снилось (1980)
2 months ago 00:14:01 2
Мой полумарафон 21,1 км. Уложился в 3 часа. Всех с Днем бега!
2 months ago 00:06:30 1
Зара - В разлуке / Zara - Separated (Шоу Конфетка, 2024)