UDP - Internet User Datagram Protocol
s = socket(AF_INET, SOCK_DGRAM, 0);
UDP is a simple, unreliable datagram protocol used to support the
SOCK_DGRAM socket type for the internet protocol family. UDP sockets
are connectionless, and are normally used with the sendto() and
recvfrom() calls (see send(2) and recv(2). The connect() call can
also be used to simulate a connection (see connect(2). When used in
this manner, it fixes the destination for future transmitted packets
(in which case the send() or write() system calls can be used), as
well as designating the source from which packets are received. The
recv() and read() calls can be used at any time if the source of the
message is unimportant.
UDP address formats are identical to those used by TCP. In
particular, UDP requires a port identifier in addition to the normal
Internet address format. Note that the UDP port domain is separate
from the TCP port domain (in other words, a UDP port cannot be
connected to a TCP port).
The default send buffer size for UDP sockets is 65535 bytes. The
default receive buffer size for UDP sockets is 2147483647 bytes. The
send and receive buffer sizes for UDP sockets can be set by using the
SO_SNDBUF and SO_RCVBUF options of the setsockopt() system call or the
XTI_SNDBUF and XTI_RCVBUF options of the t_optmgmt() system call. The
maximum size for these buffers is 2147483647 bytes. The maximum
receive buffer size may be lowered using the ndd parameter
The maximum message size for a UDP datagram socket is limited by the
lesser of the maximum size of an IP datagram and the size of the UDP
datagram socket buffer. The maximum size of an IP datagram limits the
maximum message size of a UDP message to 65507 bytes. Therefore,
using the maximum socket buffer size will allow multiple maximum-sized
messages to be placed on the send queue. The default inbound and
outbound message size limit for a UDP datagram socket is 65535 bytes.
The maximum message size for a UDP broadcast is limited by the MTU
size of the underlying link.
One of the following errors may be returned in errno if a socket
operation fails. For a more detailed list of errors, see the man
Hewlett-Packard Company - 1 - HP-UX Release 11i: November 2000
pages for specific system calls.
[EISCONN] Attempt to send a datagram with the
destination address specified, when the
socket is already connected.
[ENOBUFS] No buffer space is available for an
internal data structure.
[EADDRINUSE] Attempt to create a socket with a port
which has already been allocated.
[EADDRNOTAVAIL] Attempt to create a socket with a network
address for which no network interface
The socket interfaces to UDP were developed by the University of
ndd(1M). getsockopt(2), recv(2), send(2), socket(2), t_open(3),
t_optmgmt(3) inet(7F), socket(7),
RFC 768 User Datagram Protocol
RFC 1122 Requirements for Internet hosts
Hewlett-Packard Company - 2 - HP-UX Release 11i: November 2000