monk2b has asked for the wisdom of the Perl Monks concerning the following question:
#!/usr/bin/perl use IO::Socket; use warnings; use strict; my $server_port = 6002; my ($input, $my_addr ); my $allowed = "192.168.0.53"; # Forking into a new daemon my $pid = fork; exit if $pid; die "Couldn't fork: $!\n" unless defined($pid); # make the socket socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp')) or die "Can't create socket: $!\n"; # so we can restart our server quickly setsockopt(SERVER, SOL_SOCKET, SO_REUSEADDR, 1) or die "Can't setsockopt $!\n"; $my_addr = sockaddr_in($server_port, INADDR_ANY); bind(SERVER, $my_addr) or die "Couldn't bind to port $server_port : $!\n"; # establish a queue for incoming connections listen(SERVER,SOMAXCONN) or die "Can't listen to socket: $1"; # accept and process connections while (my $response = accept(CLIENT,SERVER)) { next unless(defined($input = <CLIENT>)); my ($fpart, $spart) = sockaddr_in($response); my $ipaddr = inet_ntoa($spart); unless ( $ipaddr eq $allowed ) { send (CLIENT,"Sorry, ($ipaddr) is not an allowed hosts...\n",0); } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: tcp server holding xterm
by zentara (Cardinal) on Aug 10, 2007 at 18:52 UTC | |
|
Re: tcp server holding xterm
by monk2b (Pilgrim) on Aug 10, 2007 at 19:12 UTC |