Network programming with Perl
Author(s)
Bibliographic Information
Network programming with Perl
Addison-Wesley, c2001
Available at 6 libraries
  Aomori
  Iwate
  Miyagi
  Akita
  Yamagata
  Fukushima
  Ibaraki
  Tochigi
  Gunma
  Saitama
  Chiba
  Tokyo
  Kanagawa
  Niigata
  Toyama
  Ishikawa
  Fukui
  Yamanashi
  Nagano
  Gifu
  Shizuoka
  Aichi
  Mie
  Shiga
  Kyoto
  Osaka
  Hyogo
  Nara
  Wakayama
  Tottori
  Shimane
  Okayama
  Hiroshima
  Yamaguchi
  Tokushima
  Kagawa
  Ehime
  Kochi
  Fukuoka
  Saga
  Nagasaki
  Kumamoto
  Oita
  Miyazaki
  Kagoshima
  Okinawa
  Korea
  China
  Thailand
  United Kingdom
  Germany
  Switzerland
  France
  Belgium
  Netherlands
  Sweden
  Norway
  United States of America
Description and Table of Contents
Description
Any developer who's comfortable with Perl can build remarkably powerful TCP/IP network applications -- no C required! In Network Programming with Perl, Lincoln Stein shows how, step-by-step, with extensive code examples. Modeled on W. Richard Stevens' legendary Unix network programming book, this book opens up network programming to a new generation of programmer: Web developers ready to build serious network applications and solve complex network problems. Stein begins with an overview of Perl's increasingly powerful networking facilities; then introduces Berkeley Sockets, and the UDP and TCP protocols at the heart of network programming. He presents Perl's IO:: socket API, which simplifies the creation and use of sockets; demonstrates how to create forking servers; and introduces practical techniques for creating multithreaded and multiplexed applications. Modeled upon the style of Stevens, and using extensive sample code, Stein demonstrates all of the key features. Network Programming with Perl also includes chapter-length explanations of creating Internet modules for FTP and Telnet; Mail and News; and Web services.
Table of Contents
Preface.
I. BASICS.
1. Input/Output Basics.
Perl and Networking.
Networking Made Easy.
Filehandles.
Using Object-Oriented Syntax with the IO::Handle and IO::File Modules.
Summary.
2. Processes, Pipes, and Signals.
Processes.
Pipes.
Signals.
Summary.
3. Introduction to Berkeley Sockets.
Clients, Servers, and Protocols.
Berkeley Sockets.
Socket Addressing.
A Simple Network Client.
Network Names and Services.
Network Analysis Tools.
Summary.
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.
5. The IO::Socket API.
Using IO::Socket.
IO::Socket Methods.
More Practical Examples.
Performance and Style.
Concurrent Clients.
Summary.
II. DEVELOPING CLIENTS FOR COMMON SERVICES.
6. FTP and Telnet.
Net::FTP.
Net::Telnet.
Summary.
7. SMTP: Sending Mail.
Introduction to the Mail Modules.
Net::SMTP.
MailTools.
MIME-Tools.
Summary.
8. POP, IMAP, and NNTP: Processing Mail and Netnews.
The Post Office Protocol.
The IMAP Protocol.
Internet News Clients.
A News-to-Mail Gateway.
Summary.
9. Web Clients.
Installing LWP.
LWP Basics.
LWP Examples.
Parsing HTML and XML.
Summary.
III. DEVELOPING TCP CLIENT/SERVER SYSTEMS.
10. 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 UNIX Systems.
Starting Network Servers Automatically.
Using the inetd Super Daemon.
Summary.
11. Multithreaded Applications.
About Threads.
A Multithreaded Psychiatrist Server.
A Multithreaded Client.
Summary.
12. Multiplexed Applications.
A Multiplexed Client.
The IO::Select Module.
A Multiplexed Psychiatrist Server.
Summary.
13. Nonblocking I/O.
Creating Nonblocking I/O Handles.
Using Nonblocking Handles.
Using Nonblocking Handles with Line-Oriented I/O.
A Generic Nonblocking I/O Module.
Nonblocking Connects and Accepts.
Summary.
14. Bulletproofing Servers.
Using the System Log.
Setting User Privileges.
Taint Mode.
Using chroot().
Handling HUP and Other Signals.
Summary.
15. Preforking and Prethreading.
Preforking.
Prethreading.
Performance Measures.
Summary.
16. IO::Poll.
Using IO::Poll.
IO::Poll Methods.
A Nonblocking TCP Client Using IO::Poll.
Summary.
IV. ADVANCED TOPICS.
17. TCP Urgent Data.
"Out-of-Band" Data and the Urgent Pointer.
Using TCP Urgent Data.
The sockatmark() Function.
A Travesty Server.
Summary.
18. The UDP Protocol.
A Time of Day Client.
Creating and Using UDP Sockets.
UDP Errors.
Using UDP Sockets with IO::Socket.
Sending to Multiple Hosts.
UDP Servers.
Increasing the Robustness of UDP Applications.
Summary.
19. UDP Servers.
An Internet Chat System.
The Chat Client.
The Chat Server.
Detecting Dead Clients.
Summary.
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.
21. Multicasting.
Multicast Basics.
Using Multicast.
Sample Multicast Applications.
Summary.
22. UNIX-Domain Sockets.
Using UNIX-Domain Sockets.
A "Wrap" Server.
Using UNIX-Domain Sockets for Datagrams.
Summary.
Appendix A. Additional Source Code.
Net::NetmaskLite (Chapter 3).
PromptUtil.pm (Chapters 8 and 9).
IO::LineBufferedSet (Chapter 13).
IO::LineBufferedSessionData (Chapter 13).
DaemonDebug (Chapter 14).
Text::Travesty (Chapter 17).
mchat_client.pl (Chapter 21).
Appendix B. Perl Error Codes and Special Variables.
System Error Constants.
Magic Variables Affecting I/O.
Other Perl Globals.
Appendix C. Internet Reference Tables.
Assigned Port Numbers.
Registered Port Numbers.
Internet Multicast Addresses.
Appendix D. Bibliography.
Index. 0201615711T04062001
by "Nielsen BookData"