#!/usr/bin/perl5 -Tw # # Listens to a socket and prints the data received # # Renaud Waldura # Thu Aug 22 10:58:18 PDT 1996 # use Socket; use strict; my($port) = @ARGV; # numeric port number $port = 7002 unless ($port && $port =~ /^\d+$/); # create TCP socket on specified port and listen my $proto = getprotobyname('tcp'); socket(S, PF_INET, SOCK_STREAM, $proto) or die "Cannot create socket: $!"; bind(S, sockaddr_in($port, INADDR_ANY)) or die "Cannot bind socket: $!"; listen(S, 5) or die "Cannot listen to socket: $!"; # debug print "Listening at port $port\n"; # accept one client my $remote = accept(NS, S) or die "Cannot accept new connection: $!"; close S or die "Cannot close socket: $!"; # debug my($remoteport, $remoteaddr) = sockaddr_in($remote); my $remoteip = inet_ntoa($remoteaddr); my $remotename = gethostbyaddr($remoteaddr, AF_INET); print "Connection accepted from host '$remotename' [$remoteip] at port $remoteport\n"; # read data print ; # close socket close NS or die "Cannot close socket: $!";