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 chapter,
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/Protcol 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.(5)
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.