Intended Audience:
Novice to intermediate Perl programmers who understand the basics of
input and output, loops, regular expression matches, and the array and
hash data types. A working familiarity with Perl5's object-oriented
syntax is also recommended. You should understand the basics of
networking, including the concepts of IP addresses, DNS names, and
servers.
Description:
This tutorial will show you how to write robust client/server
applications in Perl. We will begin with simple TCP-based clients
that you can use to talk such standard services as FTP, Web, Mail and
Net News. We will then turn to writing client/server applications
from scratch, using as our examples applications that range from toys
(a TCP-based psychotherapist server) to full-scale applications (an
Internet chat system based on multicasting).
Topics covered include:
- Perl's low-level socket interface.
- The high-level IO::Socket, IO::Select and IO::Poll modules.
- Forward and reverse name resolution.
- The Net::FTP, Net::Telnet, Net::SMTP, LWP and MIME modules
- Choosing between TCP and UDP services.
- Choosing the right server architecture:
- fork-and-select
- multiplexed
- multithreaded
- preforked
- Advanced networking topics
- broadcasting
- multicasting
- non-blocking I/O
After completing this tutorial, participants will understand how to build sophisticated client/server applications without leaving the power and convenience of the Perl programming language.