Professional Documents
Culture Documents
Contents
Network Programming with Perl
By Lincoln D. Stein
Publisher : Addison Wesley
Pub Date : December l5, 2000
lSBN : 0-20l-6l57l-l
Pages : 784
Slots : l
Copyright
Preface
This Book's Audience
Roadmap
The Many Versions of Perl
Getting the Code for the Code Examples
lnstalling Modules
Online Documentation
Acknowledgments
Part l: Basics
Chapter l. lnput/Output Basics
Perl and Networking
Networking Made Easy
Filehandles
Using Object-Oriented Syntax with the lO::Handle and lO::File Modules
Summary
Chapter 2. Processes, Pipes, and Signals
Processes
Pipes
Signals
Summary
Chapter 3. lntroduction to Berkeley Sockets
Clients, Servers, and Protocols
Berkeley Sockets
Socket Addressing
A Simple Network Client
Network Names and Services
Network Analysis Tools
Summary
Chapter 4. The TCP Protocol
A TCP Echo Client
Socket Functions Related to Outgoing Connections
A TCP Echo Server
Adjusting Socket Options
Other Socket-Related Functions
Exceptional Conditions during TCP Communications
Summary
Page l
mk:@MSlTStore:Z:\mnt\PRO\Tech Matters\Perl\Perl Programmin... 5/l9/20l2
Chapter 5. The lO::Socket APl
Using lO::Socket
lO::Socket Methods
More Practical Examples
Concurrent Clients
Summary
Part 2: Developing Clients for Common Services
Chapter 6. FTP and Telnet
Net::FTP
Net::Telnet
Summary
Chapter 7. SMTP: Sending Mail
lntroduction to the Mail Modules
Net::SMTP
MailTools
MlME-Tools
Summary
Chapter 8. POP, lMAP, and NNTP
The Post Office Protocol
The lMAP Protocol
lnternet News Clients
A News-to-Mail Gateway
Summary
Chapter 9. Web Clients
lnstalling LWP
LWP Basics
LWP Examples
Part 3: Developing TCP Client/Server Systems
Chapter l0. Forking Servers and the inetd Daemon
Standard Techniques for Concurrency
Running Example: A Psychotherapist Server
The Psychotherapist as a Forking Server
A Client Script for the Psychotherapist Server
Daemonization on UNlX Systems
Starting Network Servers Automatically
Using the inetd Super Daemon
Summary
Chapter ll. Multithreaded Applications
About Threads
A Multithreaded Psychiatrist Server
A Multithreaded Client
Summary
Chapter l2. Multiplexed Applications
A Multiplexed Client
The lO::Select Module
Page 2
mk:@MSlTStore:Z:\mnt\PRO\Tech Matters\Perl\Perl Programmin... 5/l9/20l2
A Multiplexed Psychiatrist Server
Summary
Chapter l3. Nonblocking l/O
Creating Nonblocking l/O Handles
Using Nonblocking Handles
Using Nonblocking Handles with Line-Oriented l/O
A Generic Nonblocking l/O Module
Nonblocking Connects and Accepts
Summary
Chapter l4. Bulletproofing Servers
Using the System Log
Setting User Privileges
Taint Mode
Using chroot()
Handling HUP and Other Signals
Summary
Chapter l5. Preforking and Prethreading
Preforking
Prethreading
Performance Measures
Summary
Chapter l6. lO::Poll
Using lO::Poll
lO::Poll Events
lO::Poll Methods
A Nonblocking TCP Client Using lO::Poll
Summary
Part 4: Advanced Topics
Chapter l7. TCP Urgent Data
"Out-of-Band" Data and the Urgent Pointer
Using TCP Urgent Data
The sockatmark() Function
A Travesty Server
Summary
Chapter l8. The UDP Protocol
A Time of Day Client
Creating and Using UDP Sockets
UDP Errors
Using UDP Sockets with lO::Socket
Sending to Multiple Hosts
UDP Servers
lncreasing the Robustness of UDP Applications
Summary
Chapter l9. UDP Servers
An lnternet Chat System
The Chat Client
Page 3
mk:@MSlTStore:Z:\mnt\PRO\Tech Matters\Perl\Perl Programmin... 5/l9/20l2
The Chat Server
Detecting Dead Clients
Summary
Chapter 20. Broadcasting
Unicasting versus Broadcasting
Broadcasting Explained
Sending and Receiving Broadcasts
Broadcasting Without the Broadcast Address
Enhancing the Chat Client to Support Resource Discovery
Summary
Chapter 2l. Multicasting
Multicast Basics
Using Multicast
Sample Multicast Applications
Summary
Chapter 22. UNlX-Domain Sockets
Using UNlX-Domain Sockets
A "Wrap" Server
Using UNlX-Domain Sockets for Datagrams
Summary
Appendix A. Additonal Source Code
Net::NetmaskLite (Chapter 3)
PromptUt|/.pm (Chapters 8 and 9)
lO::LineBufferedSet (Chapter l3)
lO::LineBufferedSessionData (Chapter l3)
DaemonDebug (Chapter l4)
Text::Travesty (Chapter l7)
mchat_c/|ent.p/ (Chapter 2l)
Appendix B. Perl Error Codes and Special Variables
System Error Constants
Magic Variables Affecting l/O
Other Perl Globals
Appendix C. lnternet Reference Tables
Assigned Port Numbers
Registered Port Numbers
lnternet Multicast Addresses
Appendix D. Bibliography
Perl Programming
TCP/lP and Berkeley Sockets
Network Server Design
Multicasting
Application-Level Protocols
Top
Page 4
mk:@MSlTStore:Z:\mnt\PRO\Tech Matters\Perl\Perl Programmin... 5/l9/20l2