Twisted Network Programming Essentials


book cover
Twisted Network Programming Essentials
By Abe Fettig
Publisher: O'Reilly
Pub Date: October 2005
ISBN: 0-596-10032-9
Pages: 236

Table of Contents  | Index


Twisted Network Programming Essentials from O'Reilly is a task-oriented look at this new open source, Python-based technology. The book begins with recommendations for various plug-ins and add-ons to enhance the basic package as installed. It then details Twisted's collection simple network protocols, and helper utilities. The book also includes projects that let you try out the Twisted framework for yourself. For example, you'll find examples of using Twisted to build web services applications using the REST architecture, using XML-RPC, and using SOAP.

Written for developers who want to start building applications using Twisted, this comprehensive guide presents examples of the most common tasks you'll face when building network applications. It also helps you understand the key concepts and design patterns used in Twisted applications. Here are just some of the topics discussed in Twisted Network Programming Essentials:

  • Installing Twisted

  • How to make TCP connections

  • How to use Twisted to work with the Web

  • Twisted's authentication framework

  • Usenet and SSH clients and servers

Along the way, each lesson is supported by thorough notes and explanations to make absolutely certain you're up to speed with this leading-edge Python technology.


book cover
Twisted Network Programming Essentials
By Abe Fettig
Publisher: O'Reilly
Pub Date: October 2005
ISBN: 0-596-10032-9
Pages: 236

Table of Contents  | Index

   About the Author
      Why Use Twisted?
      What This Book Covers
      Conventions Used in This Book
      What You'll Need
      Using Code Examples
      Safari® Enabled
      How to Contact Us
      Chapter 1.  Getting Started
      Section 1.1.  Installing Twisted
      Section 1.2.  Installing from Source Files
      Section 1.3.  Adding Twisted Utilities to Your Path
      Section 1.4.  Using the Twisted Documentation
      Section 1.5.  Finding Answers to Your Questions
      Chapter 2.  Building Simple Clients and Servers
      Section 2.1.  Starting the Twisted Event Loop
      Section 2.2.  Working with Asynchronous Results
      Section 2.3.  Sending and Receiving Data
      Section 2.4.  Accepting Connections from Clients
      Chapter 3.  Web Clients
      Section 3.1.  Downloading a Web Page
      Section 3.2.  Accessing a Password-Protected Page
      Section 3.3.  Uploading a File
      Section 3.4.  Checking Whether a Page Has Changed
      Section 3.5.  Monitoring Download Progress
      Chapter 4.  Web Servers
      Section 4.1.  Responding to HTTP Requests
      Section 4.2.  Parsing HTTP Requests
      Section 4.3.  Working with POST Data from HTML Forms
      Section 4.4.  Managing a Hierarchy of Resources
      Section 4.5.  Storing Web Data in an SQL Database
      Section 4.6.  Running an HTTP Proxy Server
      Chapter 5.  Web Services and RPC
      Section 5.1.  Using the REST Architecture for Web Services
      Section 5.2.  Using a Web Client to Update Resources Through REST
      Section 5.3.  Enabling Web Services Using XML-RPC
      Section 5.4.  Calling XML-RPC Functions
      Section 5.5.  Installing SOAP Libraries
      Section 5.6.  Sharing Web Services with SOAP
      Section 5.7.  Calling SOAP Web Services
      Section 5.8.  Sharing Python Objects with Perspective Broker
      Chapter 6.  Authentication
      Section 6.1.  Using Authentication in a Twisted Server
      Section 6.2.  Authenticating Against a Database Table
      Section 6.3.  Representing Users with Different Capabilities
      Section 6.4.  Using Authentication with Perspective Broker
      Chapter 7.  Mail Clients
      Section 7.1.  Downloading Mail from a POP3 Server
      Section 7.2.  Sending Mail Using SMTP
      Section 7.3.  Looking Up the SMTP Server for a Domain
      Section 7.4.  Listing Mailboxes on an IMAP Server
      Section 7.5.  Downloading Messages from an IMAP Mailbox
      Chapter 8.  Mail Servers
      Section 8.1.  Accepting Mail with SMTP
      Section 8.2.  Using SMTP as a User Interface
      Section 8.3.  Providing POP3 Access to Mailboxes
      Section 8.4.  Providing IMAP Access to Mailboxes
      Chapter 9.  NNTP Clients and Servers
      Section 9.1.  Listing the Newsgroups on a Server
      Section 9.2.  Downloading Usenet Articles
      Section 9.3.  Posting a Message to an NNTP Server
      Section 9.4.  Running a Basic NNTP Server
      Section 9.5.  Using NNTP as a User Interface
      Chapter 10.  SSH
      Section 10.1.  Setting Up a Custom SSH Server
      Section 10.2.  Using Public Keys for Authentication
      Section 10.3.  Providing an Administrative Python Shell
      Section 10.4.  Running Commands on a Remote Server
      Chapter 11.  Services, Processes, and Logging
      Section 11.1.  Running a Twisted Application as a Daemon
      Section 11.2.  Setting Limits on an Application's Permissions
      Section 11.3.  Managing Multiple Services
      Section 11.4.  Logging Events and Errors