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(7) Miscellaneous Information Manual udp(7)
NAME
udp - Internet user datagram protocol (UDP)
SYNOPSIS
#include <sys/socket.h> #include <netinet/in.h>
The following is the socket call for AF_INET sockets:
s = socket(AF_INET, SOCK_DGRAM, 0); The following is the socket call for AF_INET6 sockets:
s = socket(AF_INET6, SOCK_DGRAM, 0);
DESCRIPTION
UDP is a simple, unreliable datagram protocol that 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() functions, though the connect() function may also be
used to fix the destination for future packets, in which case the recv() or read() and send() or write() functions 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 (that is, a UDP port may not be "connected" to a TCP
port). In addition, IPv4 broadcast packets may be sent (assuming the underlying network supports this) by using a reserved "broadcast
address"; this address is network interface dependent. There is no broadcast address in IPv6.
Options at the IP transport level may be used with UDP; see the ip() reference page.
ERRORS
If a socket operation fails, errno may be set to one of the following values: An attempt was made to create a socket with a port that has
already been allocated. An attempt was made to create a socket with a network address for which no network interface exists. The socket
is already connected. This error occurs when trying to establish connection on a socket or when trying to send a datagram with the desti-
nation address specified. The system ran out of memory for an internal data structure. The destination address of a datagram was not
specified, and the socket has not been connected.
RELATED INFORMATION
Functions: getsockopt(2), recv(2), send(2), socket(2)
Files: netintro(7), inet(7), ip(7) delim off
udp(7)