UDP has not been mentioned yet. While TCP/IP is a protocol that is stream based (like a pipe), UDP is not. UDP can only send one packet at a time, and the packets are not guaranteed to arrive or arrive in the same order. You might use UDP in a situation in a situation where your packets are merely informational (ex: systems monitoring) and you do not need to send huge chunks of ordered data. Essentially, UDP will be faster and will not cause problems for the sending application if the recipient does not behave properly. For 95% of the applications out there, though, TCP/IP is preferable.
in reply to Socket Programming