Listing of socket_udp_server.pl


#!/usr/bin/perl -w
#
# This program receives UDP datagrams from Aspicore GSM Tracker
# and prints them to the console
#
# Tested with perl, version 5.005_03 built for MSWin32-x86-object
# Binary build 518 provided by ActiveState Tool Corp. http://www.ActiveState.com
# Built 13:14:00 Jun 24 1999

require 5.003;
use strict;
BEGIN { $ENV{PATH} = '/usr/ucb:/bin' }
use Socket;
use Carp;

sub logmsg { print "$0 $$: @_ at ", scalar localtime, "\n" } 

my $port = shift || 1002;
my $proto = getprotobyname('udp');
socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) || die "socket: $!";
bind(SOCKET, sockaddr_in($port, INADDR_ANY)) or die "bind: $!";

logmsg "server started on port $port";

my ( $hisiaddr, $hispaddr, $host, $rdatagram);

# loop forever
while (1) {
    $rdatagram = '';
    ($hispaddr = recv(SOCKET, $rdatagram, 260, 0))        || die "recv: $!";
    ($port, $hisiaddr) = sockaddr_in($hispaddr);
    $host = gethostbyaddr($hisiaddr, AF_INET);
    logmsg "connection from $host [", 
            inet_ntoa($hisiaddr), "] at port $port";
    print $rdatagram;
}

This file was generated by Gabriel Knoy's perl2html script.