Отправка по 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.
ПРИМЕЧАНИЕ
К сожалению, некоторые реализации не возвращают этой ошибки, не предоставляя приложению никаких указаний на то, что дейтаграмма была проигнорирована еще до начала передачи.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Отправка по 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 байт. Это значение
Отправка сообщений
Отправка сообщений Если письмо еще не написано, то необходимо нажать кнопку Создать сообщение на панели инструментов. Откроется новое окно (рис. 5.4). Рис. 5.4. Создание сообщения.В поля Кому и (или) Копия следует ввести адреса всех получателей электронной почты, разделяя их
Отправка SMS-сообщений
Отправка SMS-сообщений Отправка SMS-сообщений на номера SkypeОтправлять SMS-сообщения можно только из версии Skype 2.5. Если на вашем компьютере установлена более ранняя версия Skype, загрузите Skype 2.5. Разумеется, бесплатно!Чтобы отправлять SMS-сообщения из Skype, вы должны внести деньги
Отправка почты
Отправка почты Как мы уже знаем, отправить письмо можно разными способами: ответив на сообщение, переслав письмо и создав новое. Рассмотрим эти варианты.Ответ на письмоЕсли вы получили письмо и горите желанием немедленно ответить, то выделите его (в области содержимого
Отправка SMS
Отправка SMS Все давно уже привыкли к SMS. В программе Skype сообщения посылаются не только с помощью чата, существует специальная функция отправки SMS. Однако это возможно только для тех контактов, которые содержат номера мобильных телефонов. Для того чтобы иметь возможность
15.1. Отправка уведомлений
15.1. Отправка уведомлений Постановка задачи Требуется разграничить части вашего приложения и отправить уведомление, которое может быть подхвачено другим компонентом
Отправка SMS
Отправка SMS Наличие сотовой связи — несомненный плюс современной жизни. Однако, имея компьютер и доступ в Сеть, можно отправлять SMS на мобильные телефоны с помощью Интернета и некоторых рассматриваемых в этом разделе программ.SMS-ka Производитель Тип ОС Язык Размер,
Отправка SMS
Отправка SMS Набирать текст коротких сообщений на клавиатуре компьютера гораздо удобнее, чем на телефоне. Поэтому, находясь рядом со своим компьютером, можно этим воспользоваться. После нажатия кнопки Отправить SMS в главном окне программы на экране компьютера появляется
Отправка сообщений
Отправка сообщений Будем исходить из того, что телефонная книга у вас уже готова и вы знаете, как ею пользоваться. Если нет, то рекомендую прочесть предыдущий подраздел.Итак, нажмите клавишу F3 или выполните команду Сообщения > Редактор SMS. В результате вы увидите окно
Бесплатная отправка MMS
Бесплатная отправка MMS MMS (Multimedia Messaging Service, сервис мультимедийных сообщений) – услуга обмена мультимедийными сообщениями, предоставляемая оператором мобильной связи. MMS позволяет передавать голосовые записи, музыку, картинки и фотографии, анимацию, видеофайлы и
4.1.4. Отправка почты
4.1.4. Отправка почты Прежде чем отправить почту, необходимо сообщение создать и подготовить для отправки. Создать сообщение можно с нуля, а можно на основе полученного письма.Создание нового письмаДля создания письма с нуля используется кнопка Новое сообщение (New Message),