gawk
The awk
programming language was originally developed as a
pattern-matching language for writing short programs to perform
data manipulation tasks.
awk
’s strength is the manipulation of textual data
that is stored in files.
It was never meant to be used for networking purposes.
To exploit its features in a
networking context, it’s necessary to use an access mode for network connections
that resembles the access of files as closely as possible.
awk
is also meant to be a prototyping language. It is used
to demonstrate feasibility and to play with features and user interfaces.
This can be done with file-like handling of network
connections.
gawk
trades the lack
of many of the advanced features of the TCP/IP family of protocols
for the convenience of simple connection handling.
The advanced
features are available when programming in C or Perl. In fact, the
network programming
in this chapter
is very similar to what is described in books such as
Internet Programming with Python,
Advanced Perl Programming,
or
Web Client Programming with Perl.
However, you can do the programming here without first having to learn object-oriented ideology; underlying languages such as Tcl/Tk, Perl, Python; or all of the libraries necessary to extend these languages before they are ready for the Internet.
This chapter demonstrates how to use the TCP protocol. The UDP protocol is much less important for most users.
gawk
’s Networking Mechanisms