Глава 8 Основные сведения о сокетах UDP

Глава 8

Основные сведения о сокетах UDP

8.1. Введение

Приложения, использующие TCP и UDP, фундаментально отличаются друг от друга, потому что UDP является ненадежным протоколом дейтаграмм, не ориентированным на установление соединения, и этим принципиально непохож на ориентированный на установление соединения и надежную передачу потока байтов TCP. Тем не менее есть случаи, когда имеет смысл использовать UDP вместо TCP. Подобные случаи мы рассматриваем в разделе 22.4. Некоторые популярные приложения построены с использованием UDP, например DNS (Domain Name System — система доменных имен), NFS (сетевая файловая система — Network File System) и SNMP (Simple Network Management Protocol — простой протокол управления сетью).

На рис. 8.1 показаны вызовы функций для типичной схемы клиент-сервер UDP. Клиент не устанавливает соединения с сервером. Вместо этого клиент лишь отправляет серверу дейтаграмму, используя функцию sendto (она описывается в следующем разделе), которой нужно задать адрес получателя (сервера) в качестве аргумента. Аналогично, сервер не устанавливает соединения с клиентом. Вместо этого сервер лишь вызывает функцию recvfrom, которая ждет, когда придут данные от какого-либо клиента. Функция recvfrom возвращает адрес клиента (для данного протокола) вместе с дейтаграммой, и таким образом сервер может отправить ответ именно тому клиенту, который прислал дейтаграмму.

Рис. 8.1. Функции сокета для модели клиент-сервер UDP

Рисунок 8.1 иллюстрирует временную диаграмму типичного сценария обмена UDP-дейтаграммами между клиентом и сервером. Мы можем сравнить этот пример с типичным обменом по протоколу TCP, изображенным на рис. 4.1.

В этой главе мы опишем новые функции, применяемые с сокетами UDP, — recvfrom и sendto, и переделаем нашу модель клиент-сервер для применения UDP. Кроме того, мы рассмотрим использование функции connect с сокетом UDP и концепцию асинхронных ошибок.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Основные сведения о диаграммах

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Основные сведения о диаграммах Диаграммы служат для представления имеющихся в таблице данных в графическом виде, что позволяет повысить наглядность данных, показать соотношение различных параметров или динамику их изменения. Excel позволяет строить диаграммы различных


Основные сведения о запросах

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Основные сведения о запросах Запросы являются одним из основных объектов любой базы данных и используются для отбора данных, расчетов и других операций. Чаще всего используются запросы на выборку, с помощью которых можно выбрать данные из одной или нескольких связанных


Основные сведения об устройствах и драйверах

Из книги Основы информатики: Учебник для вузов автора Малинина Лариса Александровна

Основные сведения об устройствах и драйверах Современный компьютер состоит из большого количества различных устройств, от правильной работы которых зависит его работа в целом. Чтобы операционная система могла использовать устройство, для него необходим драйвер –


Основные сведения о существовании объектов

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Основные сведения о существовании объектов При построении C#-приложений вы вправе предполагать, что управляемая динамическая память будет обрабатываться без вашего прямого вмешательства. "Золотое правило" управления памятью .NET является очень простым.• Правило. Следует


12.10. Основные сведения об отчетах

Из книги Технологии программирования автора Камаев В А

12.10. Основные сведения об отчетах Отчеты представляют собой наилучшее средство для представления информации из базы данных в виде печатного документа. По сравнению с другими средствами вывода данных на печать отчеты обладают двумя принципиальными


Основные сведения о потоках

Из книги О чём не пишут в книгах по Delphi автора Григорьев А. Б.

Основные сведения о потоках В предыдущей главе на рис. 6.1 было показано, каким образом обеспечивается существование потоков в среде процесса. Использование потоков на примере многопоточного сервера, способного обрабатывать запросы одновременно нескольких клиентов,


3.1. ОСНОВНЫЕ СВЕДЕНИЯ

Из книги Windows Vista. Для профессионалов автора Клименко Роман Александрович

3.1. ОСНОВНЫЕ СВЕДЕНИЯ Традиционно инженеры стремились, а некоторые из них, не снижая качества проектов, добивались значительного сокращения сроков проектирования. В начале Великой Отечественной войны начальник Центрального артиллерийского конструкторского бюро В.Г.


2.1.2. Общие сведения о сокетах

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

2.1.2. Общие сведения о сокетах Сокетом (от англ. socket — гнездо, розетка) называется специальный объект, создаваемый для отправки и получения данных через сеть. Отметим, что под термином "объект" в данном случае подразумевается не объект в терминах объектно-ориентированного


6.1. Основные сведения о службах

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

6.1. Основные сведения о службах Служба представляет собой программу, как правило, работающую в фоновом режиме и расширяющую возможности операционной системы. При этом все службы состоят из трех компонентов: собственно файла службы, программы управления службой (SCP) и


Основные сведения о перехвате сеанса

Из книги UNIX — универсальная среда программирования автора Пайк Роб

Основные сведения о перехвате сеанса Лучше всего объяснить перехват сеанса на примере. Представьте, что злоумышленник случайно или в результате успешной для него атаки получил возможность наблюдать за трафиком между двумя машинами. Одна из машин – сервер, который он


Основные сведения о хакинге аппаратных средств

Из книги автора

Основные сведения о хакинге аппаратных средств В зависимости от целей исследователя ответ на вопрос «Что и как он будет исследовать?» может изменяться в очень широких пределах. Как правило, способы осуществления хакинга аппаратных средств определяются его целями:•


Основные сведения

Из книги автора

Основные сведения INF-файлы предназначены для описания начального процесса установки новой программы или оборудования. Каждый INF-файл должен начинаться с заголовка. Этот заголовок определяет версию INF-файла, а также версию операционной системы, для которой этот INF-файл


Глава 22 Дополнительные сведения о сокетах udp

Из книги автора

Глава 22 Дополнительные сведения о сокетах udp 22.1. Введение Эта глава объединяет различные темы, касающиеся приложений, использующих сокеты UDP. Для начала нас интересует, как определяется адрес получателя дейтаграммы UDP и интерфейс, на котором дейтаграмма была получена,


Глава 23 Дополнительные сведения о сокетах SCTP

Из книги автора

Глава 23 Дополнительные сведения о сокетах SCTP 23.1. Введение В этой главе мы займемся углубленным рассмотрением SCTP, изучим особенности этого протокола и параметры сокетов, при помощи которых он управляется. Мы обсудим некоторые специальные вопросы, в частности, управление


2.1 Основные сведения о файлах

Из книги автора

2.1 Основные сведения о файлах Файл представляет собой последовательность байтов. (Байт — небольшая порция информации, обычно размером в восемь бит. Для наших целей можно считать байт синонимом слова "символ".) Никаких ограничений по структуре системой на файл не