On Thu, Jan 10, 2013 at 7:04 AM, rbit <p...@liquibits.com> wrote: > The following are some of the main use cases that force applications into > datagram protocols: > > * Minimizing protocol overhead. TCP has relatively high overhead, > for example, its 3-way handshake for connection establishment. > One can see why DNS uses UDP.
Yep. Related to that: One of our systems at work uses UDP rather than TCP in order to simplify the detection of node loss. Rather than working with TCP retry etc and handling the variety of different ways in which "the other node is down" could be reported, the nodes simply send UDP packets to each other, and keep track of the timestamp when one was last received. There's only one failure state: silence. Not sure if high-level protocol simplicity counts as the same thing or not; it's a different form of overhead. ChrisA -- http://mail.python.org/mailman/listinfo/python-list