ANN: Foundations of Python Network Programming
John Goerzen
jgoerzen at complete.org
Tue Sep 14 16:27:36 CEST 2004
Hi,
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:
http://www.complete.org/pynet
APress book page (including sample code downloads):
http://www.apress.com/book/bookDisplay.html?bID=363
Sample chapter:
http://www.apress.com/book/supplementDownload.html?bID=363&sID=2077
ISBN: 1590593715
As usual, I welcome your e-mails and comments.
<P>
<A HREF="http://www.complete.org/pynet">Foundations of Python Network
Programming</A> - new book covering networking in Python. (14-Sep-04)
More information about the Python-announce-list
mailing list