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