HPlogo HP-UX Reference Volume 5 of 5 > u

UDP(7P)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

UDP — Internet User Datagram Protocol

SYNOPSIS

#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> s = socket(AF_INET, SOCK_DGRAM, 0);

DESCRIPTION

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 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 send and receive buffers for UDP sockets can be altered to a maximum value of 262142 bytes by using the SO_SNDBUF and SO_RCVBUF options of the setsockopt() system call. However, 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.

ERRORS

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 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 exists.

AUTHOR

The socket interfaces to UDP were developed by the University of California, Berkeley.

SEE ALSO

ndd(1M). getsockopt(2), recv(2), send(2), socket(2), t_open(3), inet(7F), socket(7),

RFC 768

User Datagram Protocol

RFC 1122

Requirements for Internet hosts

© Hewlett-Packard Development Company, L.P.