12-07-2000
TCP vs UDP
UDP can also be used in noisy environments; however the transmission control protocol that manages packet loss, sequencing, etc. must be higher in the protocol stack.
TCP does the 'transmission reliability' transparent to the application programmer. However, this does not preclude the use of higher level 'transmission reliability' on top of UDP systems.
In fact, I have worked with many companies who had issues with the overhead associated with TCP and rebuilt the transmission control model on top of UDP or RAW SOCKETS.
TCP is designed for a generic Internet end-to-end model; however it is not perfect or the most efficient for all transmission models. It is inaccurate to translate 'connectionless' UDP vs. 'connection oriented' TCP to 'unrealiable' and 'reliable'. TCP is connection oriented. UDP is not connection oriented. UDP can be used in applications where connection oriented behavior is required, it just must be done in a higher level in the stack.
We would have to start a new forum 'Advanced UNIX' or 'Advanced Networking' to further discuss, as this is not a newbies topic.
7 More Discussions You Might Find Interesting
1. IP Networking
Hello there!
Can anybody help me out with the steps required in implementing a chat program using sockets?
Bye! (2 Replies)
Discussion started by: hufs375
2 Replies
2. UNIX for Dummies Questions & Answers
i need chat program in c. know sockets to some extent. (4 Replies)
Discussion started by: krishnavel
4 Replies
3. Programming
Good day everyone,
I'm doing a chat client-server program:server is to receive messages from clients through a TCP port and multicast them back to all clients through a UDP port.
This is my client program. I'd not know why it just sends and receives msg from server once, then it stops.
Is... (1 Reply)
Discussion started by: powermind
1 Replies
4. Programming
any suggestions on how i could create a simple chat program between two terminals using pipes? thanks (1 Reply)
Discussion started by: kelogs1347
1 Replies
5. UNIX for Dummies Questions & Answers
I am wanting to know if you have ever found an extremely secure
chat program for UNIX (Solaris 7), such that I could control which
users can chat with which users, ie John (teacher)
can talk to Suzy (student) or Sam (student) and they
can talk back to their teacher BUT there is absolutely ... (1 Reply)
Discussion started by: ixeye
1 Replies
6. Web Development
Hi,
I am trying to embed Skype or any other video chat/chat program into a webpage. Has anyone had success doing this? or know how?
Thanks
Phil (2 Replies)
Discussion started by: phil_heath
2 Replies
7. UNIX for Advanced & Expert Users
here i havent tried to make a communication between two terminals of different machines
not either any socket program
my simple aim is use ipc for chat between two soft terminals(tty's)
here is my view two terminals with two applications working on same fifo
one fifo b/w two terminals try... (3 Replies)
Discussion started by: shyam.sunder91
3 Replies
UDP(4) BSD Kernel Interfaces Manual UDP(4)
NAME
udp -- Internet User Datagram Protocol
SYNOPSIS
#include <sys/socket.h>
#include <netinet/in.h>
int
socket(AF_INET, SOCK_DGRAM, 0);
DESCRIPTION
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) or connectx(2) call may also be
used to fix the destination for future packets (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).
DIAGNOSTICS
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 trying to send a datagram with the destina-
tion 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 allocated;
[EADDRNOTAVAIL] when an attempt is made to create a socket with a network address for which no network interface exists.
SEE ALSO
connect(2), connectx(2), getsockopt(2), recv(2), send(2), socket(2), inet(4), intro(4), ip(4)
HISTORY
The udp protocol appeared in 4.2BSD.
4.2 Berkeley Distribution March 18, 2015 4.2 Berkeley Distribution