How often should I re-transmit un-acknowleged messages?

  The simplest thing to do is simply pick a fairly small delay such as
  one second and stick with it.  The problem is that this can congest
  your network with useless traffic if there is a problem on the lan or
  on the other machine, and this added traffic may only serve to make
  the problem worse.

  A better technique, described with source code in "UNIX Network
  Programming" by Richard Stevens (see ``1.5 Where can I get source code
  for the book [book title]?''), is to use an adaptive timeout with an
  exponential backoff.  This technique keeps statistical information on
  the time it is taking messages to reach a host and adjusts timeout
  values accordingly.  It also doubles the timeout each time it is
  reached as to not flood the network with useless datagrams.  Richard
  has been kind enough to post the source code for the book on the web.
  Check out his home page at
Suggest a Site