What is socket? Differentiate TCP socket from UDP socket.
Sockets are the endpoints of logical connections between two hosts and can be used to send and receive data. Java supports stream sockets and datagram sockets. Datagram sockets use UDP (User Datagram Protocol) for data transport, thus they are also called UDP sockets. Stream sockets use TCP (Transmission Control Protocol) for data transport, thus they are also called TCP sockets. Since TCP can detect lost transports and resubmit them, the transports are lossless and reliable. UDP, in contrast, cannot guarantee lossless transport and so is unreliable.
TCP
- TCP is a connection oriented protocol.
- TCP assure reliable delivery of data to the destination.
- TCP provides extensive error checking mechanisms such as flow control and acknowledgement of data.
- Delivery of data is guaranteed if you are using TCP.
- TCP is comparatively slow because of these extensive erroe checking mechanishm.
- Retransmission of lost packets is possible.
UDP
- UDP is a connectionless oriented protocol.
- UDP does not assure reliable delivery of data to the destination.
- UDP does not provides error checking mechanisms such as flow control and acknowledgement of data.
- Delivery of data is not guaranteed if you are using UDP.
- There is no retransmission of lost packets in UDP.
Comments
Post a Comment