#!/usr/local/apps/perl/bin/perl ############################################################################ # # # WHO: John L. Moreland # # # # WHAT: server # # # # WHY: Demonstrates how to use a server socket. # # # # WHERE: Opus Software # # # # WHEN: Wed Oct 7 18:36:56 PDT 1998 # # # # HOW: Perl # # # ############################################################################ ############################################################################ ################################## INIT ################################## ############################################################################ use Socket; $host = $ARGV[0] || "localhost"; $port = $ARGV[1] || 6660; ############################################################################ ################################## MAIN ################################## ############################################################################ # Open a server socket socket( S, PF_INET, SOCK_STREAM, (getprotobyname('tcp'))[2] ) || die $!; setsockopt( S, SOL_SOCKET, SO_REUSEADDR, pack("l",1)); bind( S, sockaddr_in( $port, INADDR_ANY ) ) || die $!; listen( S, SOMAXCONN ) || die $!; select( S ); $| = 1; select( STDOUT ); # Set socket to be command buffered accept( C, S ) || die $!; while ( 1 ) { $line = ; # Read a line from the client print $line; # Write the line to STDOUT }