throwaway has asked for the wisdom of the Perl Monks concerning the following question:
#! /usr/bin/perl -w use strict; use Socket; use constant SIMPLE_UDP_PORT => 4001; use constant MAX_RECV_LEN => 1500; use constant LOCAL_INETNAME => 'localhost'; my $trans_serv = getprotobyname('udp'); my $local_host = pack "C4", split('\.', "127.0.0.1"); my $local_port = shift || SIMPLE_UDP_PORT; my $local_addr = sockaddr_in($local_port, INADDR_ANY); socket(UDP_SOCK, PF_INET, SOCK_DGRAM, $trans_serv); bind(UDP_SOCK, $local_addr); my $data; while(1) { my $from_who = recv(UDP_SOCK, $data, MAX_RECV_LEN, 0); if ($from_who) { my($the_port, $the_ip) = sockaddr_in($from_who); warn 'Received from ', inet_ntoa($the_ip), ": $data\n"; } else { warn "Problem with recv: $!\n"; } }
2020-07-14 Athanasius added code tags.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Server hold udp packets in reciev queue
by haukex (Archbishop) on Jul 11, 2020 at 06:25 UTC |