search for books and compare prices
Tables of Contents for Network Programming With Perl
Chapter/Section Title
Page #
Page Count
Preface
xi
 
PART I BASICS
1
130
Input/Output Basics
3
32
Perl and Networking
3
2
Networking Made Easy
5
2
Filehandles
7
19
Using Object-Oriented Syntax with the IO::Handle and IO::File Modules
26
7
Summary
33
2
Processes, Pipes, and Signals
35
24
Processes
35
4
Pipes
39
10
Signals
49
9
Summary
58
1
Introduction to Berkeley Sockets
59
28
Clients, Servers, and Protocols
59
3
Berkeley Sockets
62
6
Scoket Addressing
68
6
A Simple Network Client
74
2
Network Names and Services
76
5
Network Analysis Tools
81
4
Summary
85
2
The TCP Protocol
87
18
A TCP Echo Client
87
3
Socket Functions Related to Outgoing Connections
90
1
A TCP Echo Server
91
6
Adjusting Socket Options
97
3
Other Socket-Related Functions
100
2
Exceptional Conditions during TCP Communications
102
2
Summary
104
1
The IO::Socket API
105
26
Using IO::Socket
105
3
IO::Socket Methods
108
7
More Practical Examples
115
5
Performance and Style
120
1
Concurrent Clients
121
7
Summary
128
3
PART II DEVELOPING CLIENTS FOR COMMON SERVICES
131
166
FTP and Telent
133
30
Net::FTP
133
14
Net::Telnet
147
15
Summary
162
1
SMTP: Sending Mail
163
40
Introduction to the Mail Modules
163
1
Net::SMTP
164
5
MailTools
169
10
MIME-Tools
179
23
Summary
202
1
POP, IMAP, and NNTP: Processing Mail and Netnews
203
42
The Post Office Protocol
203
16
The IMAP Protocol
219
5
Internet News Clients
224
11
A News-to-Mail Gateway
235
8
Summary
243
2
Web Clients
245
52
Installing LWP
245
2
LWP Basics
247
13
LWP Examples
260
17
Parsing HTML and XML
277
19
Summary
296
1
PART III DEVELOPING TCP CLIENT/SERVER SYSTEMS
297
202
Forking Servers and the inetd Daemon
299
32
Standard Techniques for Concurrency
299
2
Running Example: A Psychotherapist Server
301
2
The Psychotherapist as a Forking Server
303
6
A Client Script for the Psychotherapist Server
309
3
Daemonization on UNIX Systems
312
6
Starting Network Servers Automatically
318
4
Using the inetd Super Daemon
322
6
Summary
328
3
Multithreaded Applications
331
14
About Threads
331
8
A Multithreaded Psychiatrist Server
339
3
A Multithreaded Client
342
1
Summary
343
2
Multiplexed Applications
345
14
A Multiplexed Client
345
2
The IO::Select Module
347
5
A Multiplexed Psychiatrist Server
352
6
Summary
358
1
Nonblocking I/O
359
50
Creating Nonblocking I/O Handles
359
3
Using Nonblocking Handles
362
2
Using Nonblocking Handles with Line-Oriented I/O
364
6
A Generic Nonblocking I/O Module
370
24
Nonblocking Connects and Accepts
394
14
Summary
408
1
Bulletproofing Servers
409
38
Using the System Log
409
16
Setting User Privileges
425
5
Taint Mode
430
3
Using chroot()
433
3
Handling HUP and Other Signals
436
10
Summary
446
1
Preforking and Prethreading
447
42
Preforking
447
30
Prethreading
477
9
Performance Measures
486
1
Summary
487
2
IO::Poll
489
10
Using IO::Poll
489
4
IO::Poll Methods
493
1
A Nonblocking TCP Client Using IO::Poll
493
4
Summary
497
2
PART IV ADVANCED TOPICS
499
152
TCP Urgent Data
501
26
``Out-of-Band'' Data and the Urgent Pointer
501
2
Using TCP Urgent Data
503
6
The sockatmark() Function
509
3
A Traesty Server
512
14
Summary
526
1
The UDP Protocol
527
24
A Time of Day Client
527
2
Creating and Using UDP Sockets
529
3
UDP Errors
532
1
Using UDP Sockets with IO::Socket
533
2
Sending to Multiple Hosts
535
3
UDP Servers
538
3
Increasing the Robustness of UDP Applications
541
9
Summary
550
1
UDP Servers
551
34
An Internet Chat System
551
4
The Chat Client
555
10
The Chat Server
565
11
Detecting Dead Clients
576
7
Summary
583
2
Broadcasting
585
22
Unicasting versus Broadcasting
585
1
Broadcasting Explained
586
2
Sending and Receiving Broadcasts
588
4
Broadcasting Without the Broadcast Address
592
11
Enhancing the Chat Client to Support Resource Discovery
603
3
Summary
606
1
Multicasting
607
30
Multicast Basics
607
7
Using Multicast
614
8
Sample Multicast Applications
622
14
Summary
636
1
UNIX-Domain Sockets
637
14
Using UNIX-Domain Sockets
637
5
A ``Wrap'' Server
642
4
Using UNIX-Domain Sockets for Datagrams
646
4
Summary
650
1
Appendix A Additional Source Code
651
24
Net::NetmaskLite (Chapter 3)
651
3
PromptUtil.pm (Chapter 8 and 9)
654
2
IO::LineBufferedSet (Chapter 13)
656
3
IO::LineBufferedSessionData (Chapter 13)
659
5
DaemonDebug (Chapter 14)
664
2
Text::Travesty (Chapter 17)
666
3
mchat_client.pl (Chapter 21)
669
6
Appendix B Perl Error Codes and Special Variables
675
8
System Error Constants
675
4
Magic Variables Affecting I/O
679
2
Other Perl Globals
681
2
Appendix C Internet Reference Tables
683
38
Assigned Port Numbers
683
20
Registered Port Numbers
703
16
Internet Multicast Addresses
719
2
Appendix D Bibliography
721
6
Index
727