Start reading Foundations of Python Network Programming on your Kindle in under a minute. Don't have a Kindle? Get your Kindle here.

Deliver to your Kindle or other device

 
 
 

Try it free

Sample the beginning of this book for free

Deliver to your Kindle or other device

Read books on your computer or other mobile devices with our FREE Kindle Reading Apps.
Foundations of Python Network Programming: The comprehensive guide to building network applications with Python (Books for Professionals by Professionals)
 
 

Foundations of Python Network Programming: The comprehensive guide to building network applications with Python (Books for Professionals by Professionals) [Kindle Edition]

John Goerzen , Brandon Rhodes

Print List Price: £39.49
Kindle Price: £20.71 includes VAT* & free wireless delivery via Amazon Whispernet
You Save: £18.78 (48%)
Unlike print books, digital books are subject to VAT.

Formats

Amazon Price New from Used from
Kindle Edition £20.71  
Paperback £27.61  

Product Description

Product Description

This second edition of Foundations of Python Network Programming targets Python 2.5 through Python 2.7, the most popular production versions of the language. Python has made great strides since Apress released the first edition of this book back in the days of Python 2.3. The advances required new chapters to be written from the ground up, and others to be extensively revised.

You will learn fundamentals like IP, TCP, DNS and SSL by using working Python programs; you will also be able to familiarize yourself with infrastructure components like memcached and message queues. You can also delve into network server designs, and compare threaded approaches with asynchronous event-based solutions.

But the biggest change is this edition's expanded treatment of the web. The HTTP protocol is covered in extensive detail, with each feature accompanied by sample Python code. You can use your HTTP protocol expertise by studying an entire chapter on screen scraping and you can then test lxml and BeautifulSoup against a real-world web site. The chapter on web application programming now covers both the WSGI standard for component interoperability, as well as modern web frameworks like Django.

Finally, all of the old favorites from the first edition are back: E-mail protocols like SMTP, POP, and IMAP get full treatment, as does XML-RPC. You can still learn how to code Python network programs using the Telnet and FTP protocols, but you are likely to appreciate the power of more modern alternatives like the paramiko SSH2 library. If you are a Python programmer who needs to learn the network, this is the book that you want by your side.

What you’ll learn

  • Understand low level networking
  • Handle sending and receiving email including composing and decoding emails, SMTP, POP and IMAP
  • Program the lower levels of web application programming such as FastCGI and WSGI and HTTP itself
  • Learn how to use memcached and message qeues using Python
  • Access web services using Python
  • Master multitasking with threads, forking, and asynchronous communication

Who this book is for

This book will be of interest to python programmers who need to program networked applications using Python. From web application developers, to systems integrators, to system administrators—this book has everything you need to know.

Table of Contents

  1. Introduction to Client/Server Networking
  2. UDP
  3. TCP
  4. Socket Names and DNS
  5. Network Data and Network Errors
  6. TLS and SSL
  7. Server Architecture
  8. Caches, Message Queues, and Map-Reduce
  9. HTTP
  10. Screen Scraping
  11. Web Applications
  12. E-mail Composition and Decoding
  13. SMTP
  14. POP
  15. IMAP
  16. Telnet and SSH
  17. FTP
  18. RPC

About the Author

John Goerzen is an accomplished author, system administrator, and Python programmer. He has been a Debian developer since 1996 and is currently president of Software in the Public Interest, Inc. His previously published books include the Linux Programming Bible, Debian Unleashed, and Linux Unleashed.

Product details


Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organise and find favourite items.
Your tags: Add your first tag
 

Customer Reviews

There are no customer reviews yet on Amazon.co.uk.
5 star
4 star
3 star
2 star
1 star
Most Helpful Customer Reviews on Amazon.com (beta)
Amazon.com:  7 reviews
13 of 13 people found the following review helpful
These guys know what they are talking about.. 17 Jan 2011
By Eelco - Published on Amazon.com
Format:Paperback
As I am relatively new to Python I originally felt that such advanced programming subjects were way above my head, not just due to my overal knowledge on Python itself, but mostly due to the lack of knowledge on all the underlying 'basic' matters on network programming. This, however, is exactly where John and Brandon did an amazing job and why I bought the book: they explain everything (from the TCP and UDP protocol to memcached) to the detail (in plain English!) before actually showing you an example how you can let Python do something magic with it. There are tons of practical examples that are applicable in daily life (varying from basic stuff such as leveraging Google Maps by calling a raw socket to wrapping a client socket with TSL) and all of these are well-written and elegant.

The book provides a solid foundation on all the basics you need to know to get started - and beyond - on network programming in Python. These guys clearly know what they are talking about (and do a good job sharing this knowledge!), which is clearly demonstrated by the vast amount of useful tips and best practices that you might otherwise only learn through trial and error yourself (call me lazy, but I prefer learning it from a set of experts). Foundations of Python Network Programming is not just a Python cookbook: it's a Python cookbook which also teaches you the foundations on networking while showing you some best practices. For beginners it's a must-have, and for the more advanced coders it's a great reference guide of which there's a lot to learn, without a doubt.
8 of 8 people found the following review helpful
Exhaustive and Authoritative 1 Feb 2011
By Stephen McMahon - Published on Amazon.com
Format:Paperback|Amazon Verified Purchase
I wish I'd had this book years ago. It's a very solid introduction to both network protocols and to using Python to work with them. It demystifies some nasty parts of network programming and offers lots of good advice for real-world use for everything from UDP up the stack to SSH and RPC. I could imagine the book being the main assigned text for an upper-division undergraduate course or the go-to reference for a skilled web developer or Python-literate network admin.

And ... it's well enough written to be enjoyable reading, pretty much wherever you open the book.

I have to note that there are a couple of very low ratings here from a couple of folks who expected this to be a Python 3 book. I expected, and received, a book covering Python 2.5-2.7. If that's what you're after, I suggest you mentally subtract those ratings from the average. Their complaints with the publisher may be fair, but they tell you nothing about the quality of the real book.
3 of 3 people found the following review helpful
Good depth and breadth of topics 27 Feb 2011
By Doug Hellmann - Published on Amazon.com
Format:Paperback
Why I picked it up: I know Brandon through PyATL and was confident that his years of experience would ensure that he put out a high quality book. He more than met my expectations.

Why I finished it: The conversational tone made it easy to zip through the sections covering material I was familiar with, saving more time to study the rest more completely.

I'd give it to: Any Python programmer who wants a better understanding of the fundamentals of network programming. Even an experienced Python programmer will learn a few new tricks from the sections covering more modern tools like ZeroMQ and paramiko.

This is the second edition of Foundations of Python Network Programming. The first edition by John Goerzen was released in 2004, and while a lot has changed in the way we use computer networks since then the fundamentals remain constant. Brandon Rhodes has improved the second edition by cleaning up the old examples that are still relevant, updating or replacing the ones that became obsolete, and adding new material. The results benefit from Brandon's high level of expertise and depth of knowledge in networking.

The book covers a broad range of topics, and is organized so that each section builds on the knowledge of the previous chapters. The discussions move from from raw TCP and UDP to encryption with TSL, and then on to application protocols like HTTP, SMTP, POP, IMAP, and ssh. Each section explains not just how to do a task, but why doing it that way works.

The examples in the book are clear and illustrate the concepts described in the text. There are a few places where the exposition would benefit from a diagram or two (especially in the description of TCP message windows), but the explanation given does stand on its own.

Every chapter of Foundations of Python Network Programming is filled with practical advice. After establishing the fundamentals of networking in the first few chapters, the book goes on to cover architectural issues that come up when creating client server applications. The different uses for RPC and message queue architectures are covered, as well binary versus text wire protocols. The latter chapters, which cover higher level protocols, discuss best-of-breed libraries, removing much of the guesswork for Python programmers choosing tools for new projects.

I recommend Foundations of Python Network Programming for programmers who want to move beyond the usual web framework-based development paradigm to learn more about what is going on behind the scenes. It is concise, but written in a conversational style that makes it easy to read. After reading the book, you will have a good grounding in the fundamentals of networking and be introduced to many more complex subjects. Brandon includes a number of references to other sources of more information, as well, for readers who want to go beyond the fundamentals covered here.

Popular Highlights

 (What's this?)
&quote;
after listen() has been called, the socket is irrevocably changed and can never, from this point on, be used to send or receive data. &quote;
Highlighted by 4 Kindle users

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   


Look for similar items by category


Look for similar items by subject


Amazon Media EU S.à r.l. GB Privacy Statement Amazon Media EU S.à r.l. GB Delivery Information Amazon Media EU S.à r.l. GB Returns & Exchanges