# PR_NewUDPSocket Creates a new UDP socket. ## Syntax ```{code} #include PRFileDesc* PR_NewUDPSocket(void); ``` ### Returns The function returns one of the following values: - Upon successful completion, a pointer to the {ref}`PRFileDesc` object created for the newly opened UDP socket. - If the creation of a new UDP socket failed, `NULL`. ## Description UDP (User Datagram Protocol) is a connectionless, unreliable datagram protocol of the TCP/IP protocol suite. UDP datagrams may be lost or delivered in duplicates or out of sequence. {ref}`PR_NewUDPSocket` creates a new UDP socket. The socket may be bound to a well-known port number with {ref}`PR_Bind`. Datagrams can be sent with {ref}`PR_SendTo` and received with {ref}`PR_RecvFrom`. When the socket is no longer needed, it should be closed with a call to {ref}`PR_Close`. ## See Also {ref}`PR_NewUDPSocket` is deprecated because it is hardcoded to create an IPv4 UDP socket. New code should use {ref}`PR_OpenUDPSocket` instead, which allows the address family (IPv4 or IPv6) of the new UDP socket to be specified.