gawkinet: Troubleshooting

 
 2.3 Troubleshooting Connection Problems
 =======================================
 
 It may well be that for some reason the program shown in the previous
 example does not run on your machine.  When looking at possible reasons
 for this, you will learn much about typical problems that arise in
 network programming.  First of all, your implementation of 'gawk' may
 not support network access because it is a pre-3.1 version or you do not
 have a network interface in your machine.  Perhaps your machine uses
 some other protocol, such as DECnet or Novell's IPX. For the rest of
 this major node, we will assume you work on a Unix machine that supports
 TCP/IP. If the previous example program does not run on your machine, it
 may help to replace the name 'localhost' with the name of your machine
 or its IP address.  If it does, you could replace 'localhost' with the
 name of another machine in your vicinity--this way, the program connects
 to another machine.  Now you should see the date and time being printed
 by the program, otherwise your machine may not support the 'daytime'
 service.  Try changing the service to 'chargen' or 'ftp'.  This way, the
 program connects to other services that should give you some response.
 If you are curious, you should have a look at your '/etc/services' file.
 It could look like this:
 
      # /etc/services:
      #
      # Network services, Internet style
      #
      # Name     Number/Protocol  Alternate name # Comments
 
      echo        7/tcp
      echo        7/udp
      discard     9/tcp         sink null
      discard     9/udp         sink null
      daytime     13/tcp
      daytime     13/udp
      chargen     19/tcp        ttytst source
      chargen     19/udp        ttytst source
      ftp         21/tcp
      telnet      23/tcp
      smtp        25/tcp        mail
      finger      79/tcp
      www         80/tcp        http      # WorldWideWeb HTTP
      www         80/udp        # HyperText Transfer Protocol
      pop-2       109/tcp       postoffice    # POP version 2
      pop-2       109/udp
      pop-3       110/tcp       # POP version 3
      pop-3       110/udp
      nntp        119/tcp       readnews untp  # USENET News
      irc         194/tcp       # Internet Relay Chat
      irc         194/udp
      ...
 
    Here, you find a list of services that traditional Unix machines
 usually support.  If your GNU/Linux machine does not do so, it may be
 that these services are switched off in some startup script.  Systems
 running some flavor of Microsoft Windows usually do _not_ support these
 services.  Nevertheless, it _is_ possible to do networking with 'gawk'
 on Microsoft Windows.(1)  The first column of the file gives the name of
 the service, and the second column gives a unique number and the
 protocol that one can use to connect to this service.  The rest of the
 line is treated as a comment.  You see that some services ('echo')
 support TCP as well as UDP.
 
    ---------- Footnotes ----------
 
    (1) Microsoft preferred to ignore the TCP/IP family of protocols
 until 1995.  Then came the rise of the Netscape browser as a landmark
 "killer application."  Microsoft added TCP/IP support and their own
 browser to Microsoft Windows 95 at the last minute.  They even
 back-ported their TCP/IP implementation to Microsoft Windows for
 Workgroups 3.11, but it was a rather rudimentary and half-hearted
 implementation.  Nevertheless, the equivalent of '/etc/services' resides
 under 'C:\WINNT\system32\drivers\etc\services' on Microsoft Windows 2000
 and Microsoft Windows XP.