Отправка по UDP

Отправка по UDP

На рис. 2.16 показано, что происходит, когда приложение записывает данные в сокет UDP.

Рис. 2.16. Отправка данных через сокет UDP

На этот раз буфер отправки сокета изображен пунктирными линиями, поскольку он (буфер) на самом деле не существует. У сокета UDP есть размер буфера отправки (который мы можем изменить с помощью параметра сокета SO_SNDBUF, см. раздел 7.5), но это просто верхнее ограничение на размер дейтаграммы UDP, которая может быть записана в сокет. Если приложение записывает дейтаграмму размером больше буфера отправки сокета, возвращается ошибка EMSGSIZE. Поскольку протокол UDP не является надежным, ему не нужно хранить копию данных приложения. Ему также не нужно иметь настоящий буфер отправки (данные приложения обычно копируются в буфер ядра по мере их движения вниз по стеку протоколов, но эта копия сбрасывается канальным уровнем после передачи данных).

UDP просто добавляет свой 8-байтовый заголовок и передает дейтаграмму протоколу IP. IPv4 или IPv6 добавляет свой заголовок, определяет исходящий интерфейс, выполняя функцию маршрутизации, и затем либо добавляет дейтаграмму в очередь вывода канального уровня (если размер дейтаграммы не превосходит MTU), либо фрагментирует дейтаграмму и добавляет каждый фрагмент в очередь вывода канального уровня.

Если приложение UDP отправляет большие дейтаграммы (например, 2000-байтовые), существует гораздо большая вероятность фрагментации, чем в случае TCP, поскольку TCP разбивает данные приложения на порции, равные по размеру MSS, а этому параметру нет аналога в UDP.

Успешное возвращение из функции записи в сокет UDP говорит о том, что либо дейтаграмма, либо фрагменты дейтаграммы были добавлены к очереди вывода канального уровня. Если для дейтаграммы или одного из ее фрагментов недостаточно места, приложению в большинстве случаев возвращается сообщение ENOBUFS.

ПРИМЕЧАНИЕ

К сожалению, некоторые реализации не возвращают этой ошибки, не предоставляя приложению никаких указаний на то, что дейтаграмма была проигнорирована еще до начала передачи.

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

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

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

Отправка SMS

Из книги Компьютер + мобильник: эффективное взаимодействие автора Гольцман Виктор Иосифович

Отправка SMS Набирать текст коротких сообщений на клавиатуре компьютера гораздо удобнее, чем на телефоне. Поэтому, находясь рядом со своим компьютером, можно этим воспользоваться. После нажатия кнопки Отправить SMS в главном окне программы на экране компьютера появляется


Отправка сообщений

Из книги Skype: бесплатные звонки через Интернет. Начали! автора Гольцман Виктор Иосифович

Отправка сообщений Будем исходить из того, что телефонная книга у вас уже готова и вы знаете, как ею пользоваться. Если нет, то рекомендую прочесть предыдущий подраздел.Итак, нажмите клавишу F3 или выполните команду Сообщения > Редактор SMS. В результате вы увидите окно


Бесплатная отправка MMS

Из книги Популярный самоучитель работы в Интернете автора Кондратьев Геннадий Геннадьевич

Бесплатная отправка MMS MMS (Multimedia Messaging Service, сервис мультимедийных сообщений) – услуга обмена мультимедийными сообщениями, предоставляемая оператором мобильной связи. MMS позволяет передавать голосовые записи, музыку, картинки и фотографии, анимацию, видеофайлы и


Отправка SMS

Из книги 500 лучших программ для Windows автора Уваров Сергей Сергеевич

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


Отправка почты

Из книги Интернет – легко и просто! автора Александров Егор

Отправка почты Как мы уже знаем, отправить письмо можно разными способами: ответив на сообщение, переслав письмо и создав новое. Рассмотрим эти варианты.Ответ на письмоЕсли вы получили письмо и горите желанием немедленно ответить, то выделите его (в области содержимого


Отправка SMS

Из книги Самоучитель Skype. Бесплатная связь через Интернет автора Яковлева Е. С.

Отправка SMS Наличие сотовой связи — несомненный плюс современной жизни. Однако, имея компьютер и доступ в Сеть, можно отправлять SMS на мобильные телефоны с помощью Интернета и некоторых рассматриваемых в этом разделе программ.SMS-ka Производитель Тип ОС Язык Размер,


Отправка сообщений

Из книги Самоучитель работы на Macintosh автора Скрылина Софья

Отправка сообщений Если письмо еще не написано, то необходимо нажать кнопку Создать сообщение на панели инструментов. Откроется новое окно (рис. 5.4). Рис. 5.4. Создание сообщения.В поля Кому и (или) Копия следует ввести адреса всех получателей электронной почты, разделяя их


Отправка SMS-сообщений

Из книги Социальные сети без страха для тех, кому за... автора Виннер Марина

Отправка SMS-сообщений Отправка SMS-сообщений на номера SkypeОтправлять SMS-сообщения можно только из версии Skype 2.5. Если на вашем компьютере установлена более ранняя версия Skype, загрузите Skype 2.5. Разумеется, бесплатно!Чтобы отправлять SMS-сообщения из Skype, вы должны внести деньги


4.1.4. Отправка почты

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

4.1.4. Отправка почты Прежде чем отправить почту, необходимо сообщение создать и подготовить для отправки. Создать сообщение можно с нуля, а можно на основе полученного письма.Создание нового письмаДля создания письма с нуля используется кнопка Новое сообщение (New Message),


Отправка писем

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


15.1. Отправка уведомлений

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

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


Отправка по TCP

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

Отправка по TCP Приняв все вышеизложенные термины и определения, посмотрим на рис. 2.15, где показано, что происходит, когда приложение записывает данные в сокет TCP. Рис. 2.15. Этапы записи данных в сокет TCP и буферы, используемые при этой записиУ каждого сокета TCP есть буфер


Отправка по SCRIPT

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

Отправка по SCRIPT На рис. 2.17 показан процесс записи данных в сокет SCRIPT. Рис. 2.17. Отправка данных через сокет SCRIPTДля обеспечения надежности в SCRIPT предусмотрен буфер отправки. Приложение может менять размер этого буфера при помощи параметра сокета SO_SNDBUF (см. раздел 7.5), как и


21.10. Отправка и получение

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

21.10. Отправка и получение Программа для получения анонсов сеанса многоадресной передачи, показанная в предыдущем разделе, могла только получать дейтаграммы многоадресной передачи. Теперь мы создадим простую программу, способную и отправлять, и получать дейтаграммы


Отправка с минимальной MTU

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

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