gawkinet: Caveats

1 
1 2.11 Network Programming Caveats
1 ================================
1 
1 By now it should be clear that debugging a networked application is more
1 complicated than debugging a single-process single-hosted application.
1 The behavior of a networked application sometimes looks noncausal
1 because it is not reproducible in a strong sense.  Whether a network
1 application works or not sometimes depends on the following:
1 
1    * How crowded the underlying network is
1 
1    * If the party at the other end is running or not
1 
1    * The state of the party at the other end
1 
1    The most difficult problems for a beginner arise from the hidden
1 states of the underlying network.  After closing a TCP connection, it's
1 often necessary to wait a short while before reopening the connection.
1 Even more difficult is the establishment of a connection that previously
1 ended with a "broken pipe."  Those connections have to "time out" for a
1 minute or so before they can reopen.  Check this with the command
1 'netstat -a', which provides a list of still "active" connections.
1