ANN: Foundations of Python Network Programming

John Goerzen jgoerzen at
Tue Sep 14 16:27:36 CEST 2004


I'd like to announce the availability of my latest book, Foundations of
Python Network Programming, published by APress.  Magnus Lie Hetland
(author of Practical Python) was the technical reviewer and Jason
Gilmore (author of A Programmer's Introduction to PHP 4.0) was the lead
editor for this book.

Foundations of Python Network Programming is designed to show you
everything from fundamentals of networking and low-level protocol design
to work with higher-level protocols such as IMAP, HTTP, and FTP.

This is not a basic reference like Python comes with. Rather, it's a
hands-on guide. There are over 6600 lines of example code and the text
strives to show you the big picture. For instance, there are several
different ways of getting directory information from an FTP server,
and some are not documented for use this way. The chapter on FTP
explains them and provides example code to illustrate. There's also an
APress page with details (link below).

The book is split into six parts:

 * Part I covers low-level networking.  It starts out with the basic
   concepts of TCP/IP networking, then explains how to use sockets to
   write your own protocols or implement new protocols from scratch.
   In addition to basic TCP/IP client and server code, topics such as
   UDP, exception handling, forward and reverse DNS lookups, broadcast
   packets, half-open sockets, and IPv6 are covered.

 * Part II covers web services.  It starts with the coverage of HTTP
   client support and goes on to cover HTML parsing, XML parsing and
   generation, and XML-RPC.

 * Part III covers e-mail.  It first shows you how to build plain or
   MIME messages and how to process and decode those messages.  The
   MIME coverage is quite extensive, covering things like multipart
   messages, attachments, varying character sets in headers, etc.  The
   remaining chapters in the e-mail part cover SMTP client
   communication, POP3, and IMAP.  The IMAP section covers the IMAP
   client library included with Twisted.

 * Part IV covers other client-side modules, including FTP, database
   clients (DB-API), and concludes with a discussion of SSL/TLS.  That
   discussion covers both sock.ssl() and PyOpenSSL and documents
   authentication of the remote.

 * Part V covers server-side frameworks.  These include SocketServer
   and its derivatives such as SimpleXMLRPCServer, CGI.  In addition,
   there is a chapter on mod_python.  It features re-implementations
   of the examples from the CGI chapter for a native mod_python
   implementation to make it easy to see how code is different when
   writing mod_python as opposed to CGI.

 * Finally, part VI covers multitasking with an emphasis on server
   design but including coverage of client design.  The major topics
   covered include forking, threading, and single-process design using
   poll() or the Twisted infrastructure.

For more information:

Table of Contents, Cover images, letter, and links to pages at Amazon,
bn, etc:

APress book page (including sample code downloads):

Sample chapter:

ISBN: 1590593715

As usual, I welcome your e-mails and comments.

<A HREF="">Foundations of Python Network
Programming</A> - new book covering networking in Python.  (14-Sep-04)

More information about the Python-announce-list mailing list