use strict;
use IO::Socket;
my $socket=IO::Socket::INET->new(LocalAddr => 'localhost',
LocalPort => 2224,
Proto => 'udp')
or die "socket: $!";
while ((my $length=sysread($socket, my $buffer, 65536)) != 0)
{
die "sysread: $!" if (!defined($length));
# $buffer contains the received packet
}
####
use strict;
use IO::Socket;
my $socket=IO::Socket::INET->new(PeerAddr => 'localhost',
PeerPort => 2224,
Proto => 'udp')
or die "socket: $!";
syswrite($socket, "Hello, there\n");
####
my $length;
while (defined($length=sysread($socket, my $buffer, 65536)) && $length != 0)
{ ... }
die "sysread: $!" if (!defined($length));