05-26-2011
4,673,
588
Join Date: Oct 2010
Last Activity: 1 February 2016, 3:35 PM EST
Location: Southern NJ, USA (Nord)
Posts: 4,673
Thanks Given: 8
Thanked 588 Times in 561 Posts
TCP and UDP are different facilities under IP, but UNIX sockets are local to the host and simpler, like pipes.
TCP creates a reliable one on one session between a client and server, with full duplex streams of data.
UDP is a user-level packet facility, without 'reliability' but with broadcast and mixed correspondent capability as well as a 'connection' facility, just a fd with a filter and default correspondent. For instance, DNS uses UDP, and a DNS server sits there receiving packets, and for every packet in, makes a packet out. The packet in may be a request for local data, a request for remote data or a response to a past inquiry sent by this server to other DNS servers. The server sends a response to the inquiry, or if tasked with recursion, an inquiry for the inquiry. For responses, the server sends them on to the requestor and caches them locally. The server does all this with one not-connected UDP socket.