27.3.1. Что такое сокет?
27.3.1. Что такое сокет?
Сокет — это двунаправленный канал между двумя компьютерами в сети, который обеспечивает конечную точку соединения. «Двунаправленный» означает, что данный могут передаваться в двух направлениях — от клиента к серверу и наоборот. Понятие сокета — абстрактное, это как бы программный соединитель, через который обмениваются данными программа-сервер и программа-клиент.
Сокет-интерфейс используется для получения доступа к транспортному уровню протокола TCP/IP и представляет собой набор системных вызовов операционной системы и библиотечных функций на языке С. Все эти функции можно условно разделить на три группы:
? управляющие функции;
? функции установления связи;
? функции сетевого ввода/вывода.
Общий алгоритм работы сетевой программы, использующей сокеты:
1. Подготовить (создать) сокет — функция socket().
2. Связать сокет — функция bind().
3. Установить связь с удаленным компьютером (клиенту — установить связь, а серверу — ожидать установления связи).
4. Произвести обмен данными — функции recv() и send().
5. Завершить сеанс связи — close() и shutdown().
Библиотечные функции для работы с сокетами находятся в заголовочном файле sys/socket.h, поэтому для любой сетевой программы обязательна следующая директива:
#include <sys/socket.h>
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
1.2. Что такое htb?
1.2. Что такое htb? Hierarchichal Token Bucket — это классовая дисциплина обработки очереди, написанная Мартином Девером (Martin Devera) с упрощенным набором конфигурационных параметров по сравнению с CBQ. Есть много хорошей документации по HTB и ее применению на сайте автора и сайте Стефа Коэна
Сокет типа «один-к-одному»
Сокет типа «один-к-одному» Данный тип сокета был разработан специально для облегчения переноса существующих приложений с TCP на SCTP. Его модель практически идентична описанной в главе 4. Существуют, конечно, некоторые отличия, о которых следует помнить (в особенности, при
Сокет типа «один-ко-многим»
Сокет типа «один-ко-многим» Сокет типа «один-ко-многим» дает разработчику приложения возможность написать сервер, не использующий большого количества дескрипторов сокетов. Один дескриптор для такого сервера будет представлять несколько ассоциаций, подобно сокету UDP,
Пример: функция bind и доменный сокет Unix
Пример: функция bind и доменный сокет Unix Программа, показанная в листинге 15.2, создает доменный сокет Unix, с помощью функции bind связывает с ним полное имя и затем вызывает функцию getsockname и выводит это полное имя.Листинг 15.2. Связывание полного имени с доменным сокетом
28.4. Ввод через символьный сокет
28.4. Ввод через символьный сокет Первый вопрос, на который следует ответить, говоря о символьных сокетах, следующий: какие из полученных IP-дейтаграмм ядро передает символьному сокету? Применяются следующие правила:1. Получаемые пакеты UDP и TCP никогда не передаются на
(1.9) Что такое DFS?
(1.9) Что такое DFS? Distributed File System – один из инструментов Active Directory. Он позволяет создавать сетевые ресурсы, в которые могут входить множество файловых систем на различных машинах. Для пользователя Active Directory это абсолютно прозрачно и не имеет никакого значения, где и на каких
Что такое NAT
Что такое NAT Средства NAT позволяют изменять в процессе маршрутизации содержимое TCP- и IP-пакетов. В частности, при NAT-преобразовании изменяется IP-адрес источника и назначения в составе пакета. Ниже описаны ситуации, в которых оправданы подобные изменения
4.1.1. Что такое X.Оrg
4.1.1. Что такое X.Оrg 4.1.1.1. Немного истории В первых версиях Linux не было графического интерфейса.В апреле 1992 года для Linux была создана система X Window - графическая подсистема Linux.X Window (полное название X Window System) - это не графический интерфейс пользователя, это система,
3.1. Что такое I2P?
3.1. Что такое I2P? В главе 2 мы познакомились с распределенной сетью Tor, позволяющей зашифровать и анонимизировать трафик. Здесь будет рассмотрен другой проект анонимизации – I2P (Invisible Internet Project, проект "Невидимый Интернет"). I2P – это так называемая оверлейная сеть, то есть
Что такое CVS?
Что такое CVS? CVS - это система управления версиями. На самом деле, для CVS не важно, версиями чего вы управляете, однако здесь этот инструмент будет рассматриваться в том контексте, в котором он обычно используется - управление исходными текстами при разработке ПО. CVS помогает
Что такое .NET
Что такое .NET Платформа Microsoft .NET - это комплекс программ, устанавливаемый поверх операционной системы и обеспечивающий выполнение программ, написанных специально для .NET. .NET-программы компактны, пользуются единым набором типов данных и библиотек. Компания Microsoft активно
Что такое PDF?
Что такое PDF? PDF — очень распространенный тип документов, предложенный компанией Adobe. В таком виде публикуют инструкции к технике, различные справочные и рекламные материалы, каталоги товаров, электронные версии журналов и книг. Поскольку документы, сохраненные в виде PDF,
19.1. Что такое ICQ
19.1. Что такое ICQ ICQ — один из самых популярных сервисов мгновенного обмена сообщениями. Это своего рода Интернет-пейджер. Аббревиатура ICQ означает «I seek you» («Я ищу тебя»), в России эту программу принято называть «аськой».В общих чертах общение в ICQ выглядит так. Вы
1. Что это такое?
1. Что это такое? Точки восстановления системы — это «моментальные снимки» (snapshots) текущего состояния Windows, позволяющие вернуть систему к более раннему состоянию. Конечно, при таком откате будет потеряна часть настроек, включая список последних документов, списки истории,