Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

UDP(4)                   BSD Kernel Interfaces Manual                   UDP(4)

     udp -- Internet User Datagram Protocol

     #include <sys/socket.h>
     #include <netinet/in.h>

     socket(AF_INET, SOCK_DGRAM, _);

     UDP is a simple, unreliable datagram protocol which is used to support the SOCK_DGRAM abstraction for
     the Internet protocol family.  UDP sockets are connectionless, and are normally used with the sendto
     and recvfrom calls, though the connect(2) call may also be used to fix the destination for future pack-ets packets
     ets (in which case the recv(2) or read(2) and send(2) or write(2) system calls may be used).

     UDP address formats are identical to those used by TCP.  In particular UDP provides a port identifier
     in addition to the normal Internet address format.  Note that the UDP port space is separate from the
     TCP port space (i.e. a UDP port may not be ``connected'' to a TCP port).  In addition broadcast packets
     may be sent (assuming the underlying network supports this) by using a reserved ``broadcast address'';
     this address is network interface dependent.

     Options at the IP transport level may be used with UDP; see ip(4).

     A socket operation may fail with one of the following errors returned:

     [EISCONN]        when trying to establish a connection on a socket which already has one, or when try-ing trying
                      ing to send a datagram with the destination address specified and the socket is
                      already connected;

     [ENOTCONN]       when trying to send a datagram, but no destination address is specified, and the
                      socket hasn't been connected;

     [ENOBUFS]        when the system runs out of memory for an internal data structure;

     [EADDRINUSE]     when an attempt is made to create a socket with a port which has already been allo-cated; allocated;

     [EADDRNOTAVAIL]  when an attempt is made to create a socket with a network address for which no network
                      interface exists.

     getsockopt(2), recv(2), send(2), socket(2), inet(4), intro(4), ip(4)

     The udp protocol appeared in 4.2BSD.

4.2 Berkeley Distribution        June 5, 1993        4.2 Berkeley Distribution

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.