Протокол пользовательских датаграмм
#include <sys/socket.h>#include <netinet/in.h>int socket( AF_INET,SOCK_DGRAM,0 );
UDP - это простой, но в то же время не самый надежный протокол датаграмм, который используется для поддержки абстракции SOCK_DGRAM
для семейства интернет-протоколов. Сокеты UDP не требуют установления соединения и обычно используются с вызовами sendto() и recvfrom(), хотя также возможно использование вызова connect(), чтобы исправить место назначения для будущих пакетов (в этом случае можно использовать системные вызовы recv() или read() и send() или write()).
Форматы адресов UDP идентичны форматам, используемым в TCP. В частности, UDP предоставляет идентификатор порта в дополнение к обычному формату Интернет-адреса. Обратите внимание, что пространство портов UDP отделено от пространства портов TCP; то есть порт UDP не может быть «подключен» к порту TCP. Кроме того, могут быть отправлены широковещательные пакеты при условии, что более низкоуровневая сеть поддерживает их с использованием зарезервированного широковещательного адреса; этот адрес зависит от сетевого интерфейса.
Возможно использование параметров на транспортном уровне IP с UDP (см. протокол IP).
Дескриптор сокета. Если возникла ошибка функция возвращает -1
, код ошибки записывается в errno.
IP протокол
connect(), getsockopt(), read(), recv(), recvfrom(), send(), sendto(), socket(), write()
Основано на RFC 768
Предыдущий раздел: Описание API сетевой библиотеки