Roadmap


 
Network Programming with Perl
By Lincoln  D.  Stein
Slots : 1
Table of Contents
Preface

    Content

This book is organized into four main parts : Basics, Developing Clients for Common Services, Developing TCP Client/Server Systems, and Advanced Topics.

Part I, Basics, introduces the fundamentals of TCP/IP network communications.

  • Chapters 1 and 2, Networking Basics and Processes, Pipes, and Signals, review Perl's functions and variables for input and output, discusses the exceptions that can occur during I/O operations, and uses the piped filehandle as the basis for introducing sockets. These chapters also review Perl's process model, including signals and forking, and introduces Perl's object-oriented extensions.

  • Chapter 3, Introduction to Berkeley Sockets, discusses the basics of Internet networking and discusses IP addresses, network ports, and the principles of client/server applications. It then turns to the Berkeley Socket API, which provides the programmer's interface to TCP/IP.

  • Chapters 4 and 5, The TCP Protocol and The IO::Socket API and Simple TCP Applications, show the basics of TCP, the networking protocol that provides reliable stream-oriented communications. These chapters demonstrate how to create client and server applications and then introduce examples that show the power of technique as well as some common roadblocks .

Part II, Developing Clients for Common Services, looks at a collection of the best third-party modules that developers have contributed to the Comprehensive Perl Archive Network (CPAN).

  • Chapter 6, FTP and Telnet, introduces modules that provide access to the FTP file-sharing service, as well as to the flexible Net::Telnet module which allows you to create clients to access all sorts of network services.

  • E-mail is still the dominant application on the Internet, and Chapter 7, SMTP: Sending Mail, introduces half of the equation. This chapter shows you how to create e-mail messages on the fly, including binary attachments, and send them to their destinations.

  • Chapter 8, POP, IMAP, and NNTP: Processing Mail and Netnews, covers the other half of e-mail, explaining modules that make it possible to receive mail from mail drop systems and process their contents, including binary attachments.

  • Chapter 9, Web Clients, discusses the LWP module, which provides everything you need to talk to Web servers, download and process HTML documents, and parse XML.

Part III, Developing TCP Client/Server Systems ”the longest part of the book ”discusses the alternatives for designing TCP-based client/server systems. The major example used in these chapters is an interactive psychotherapist server, based on Joseph Weizenbaum's classic Eliza program.

  • Chapter 10, Forking Servers and the inetd Daemon, covers the common type of TCP server that forks a new process to handle each incoming connection. This chapter also covers the UNIX and Windows inetd daemons, which allow programs not specifically designed for networking to act as servers.

  • Chapter 11, Multithreaded Applications, explains Perl's experimental multithreaded API, and shows how it can greatly simplify the design of TCP clients and servers.

  • Chapters 12 and 13, Multiplexed Operations and Nonblocking I/O, discuss the select() call, which enables an application to process multiple I/O streams concurrently without using multiprocessing or multithreading.

  • Chapter 14, Bulletproofing Servers, discusses techniques for enhancing the reliability and maintainability of network servers. Among the topics are logging, signal handling, and exceptions, as well as the important topic of network security.

  • Chapter 15, Preforking and Prethreading, presents the forking and threading models discussed in earlier chapters. These enhancements increase a server's ability to perform well under heavy loads.

  • Chapter 16, IO::Poll, discusses an alternative to select() available on UNIX platforms. This module allows applications to multiplex multiple I/O streams using an API that some people find more natural than select() 's.

Part IV, Advanced Topics, addresses techniques that are useful for specialized applications.

  • Chapter 17, TCP Urgent Data, is devoted to TCP urgent or "out of band " data. This technique is often used in highly interactive applications in which the user urgently needs to signal the remote server.

  • Chapters 18 and 19, The UDP Protocol and UDP Servers, introduce the User Datagram Protocol, which provides a lightweight, message-oriented communications service. Chapter 18 introduces the protocol, and Chapter 19 shows how to design UDP servers. The major example in this and the next two chapters contain a live online chat and messaging system written entirely in Perl.

  • Chapters 20 and 21, Broadcasting and Multicasting, extend the UDP discussion by showing how to build one-to-all and one-to-many message broadcasting systems. In these chapters we extend the chat system to take advantage of automatic server discovery and multicasting.

  • Chapter 22, UNIX-Domain Sockets, shows how to create lightweight communications channels between processes on the same machine. This can be useful for specialized applications such as loggers.


   
Top


Network Programming with Perl
Network Programming with Perl
ISBN: 0201615711
EAN: 2147483647
Year: 2000
Pages: 173

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net