Net::Server

Net::Server is an extensible, general Perl server engine.
Download

Net::Server Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Paul Seamons
  • Publisher web site:
  • http://search.cpan.org/~rhandom/

Net::Server Tags


Net::Server Description

Net::Server is an extensible, general Perl server engine. Net::Server is an extensible, general Perl server engine.SYNOPSIS #!/usr/bin/perl -w -T package MyPackage; use Net::Server; @ISA = qw(Net::Server); sub process_request { #...code... } MyPackage->run(port => 160); exit;Here are some key features of "Net Server":· Single Server Mode· Inetd Server Mode· Preforking Simple Mode (PreForkSimple)· Preforking Managed Mode (PreFork)· Forking Mode· Multiplexing Mode using a single process· Multi port accepts on Single, Preforking, and Forking modes· Simultaneous accept/recv on tcp, udp, and unix sockets· Safe signal handling in Fork/PreFork avoids perl signal trouble· User customizable hooks· Chroot ability after bind· Change of user and group after bind· Basic allow/deny access control· Customized logging (choose Syslog, log_file, or STDERR)· HUP able server (clean restarts via sig HUP)· Dequeue ability in all Fork and PreFork modes.· Taint clean· Written in Perl· Protection against buffer overflow· Clean process flow· ExtensibilityNet::Server is an extensible, generic Perl server engine. Net::Server combines the good properties from Net::Daemon (0.34), NetServer::Generic (1.03), and Net::FTPServer (1.0), and also from various concepts in the Apache Webserver.Net::Server attempts to be a generic server as in Net::Daemon and NetServer::Generic. It includes with it the ability to run as an inetd process (Net::Server::INET), a single connection server (Net::Server or Net::Server::Single), a forking server (Net::Server::Fork), a preforking server which maintains a constant number of preforked children (Net::Server::PreForkSimple), or as a managed preforking server which maintains the number of children based on server load (Net::Server::PreFork). In all but the inetd type, the server provides the ability to connect to one or to multiple server ports.Net::Server uses ideologies of Net::FTPServer in order to provide extensibility. The additional server types are made possible via "personalities" or sub classes of the Net::Server. By moving the multiple types of servers out of the main Net::Server class, the Net::Server concept is easily extended to other types (in the near future, we would like to add a "Thread" personality).Net::Server borrows several concepts from the Apache Webserver. Net::Server uses "hooks" to allow custom servers such as SMTP, HTTP, POP3, etc. to be layered over the base Net::Server class. In addition the Net::Server::PreFork class borrows concepts of min_start_servers, max_servers, and min_waiting servers. Net::Server::PreFork also uses the concept of an flock serialized accept when accepting on multiple ports (PreFork can choose between flock, IPC::Semaphore, and pipe to control serialization).Requirements:· Perl


Net::Server Related Software