#!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11161465 use warnings; use IO::Socket::Multicast; my $s = IO::Socket::Multicast->new or die $@; $s->mcast_if( 'tybalt' ); $s->mcast_dest(scalar sockaddr_in(9999, inet_aton('239.1.1.1'))); my $me = qx(hostname) =~ tr/\n//dr; open my $la, '<', '/proc/loadavg' or die "$! opening loadavg"; while(1) { seek $la, 0, 0; my $data = "$me " . localtime . ' ' . <$la>; print "data: $data"; $s->mcast_send($data) or die "$! on send"; sleep 1; } #### #!/usr/bin/perl use strict; # https://perlmonks.org/?node_id=11161465 use warnings; use IO::Socket::Multicast; my $s = IO::Socket::Multicast->new(LocalPort => 9999) or die $@; $s->mcast_add('239.1.1.1', 'tybalt') or die "group $!"; while(1) { $s->recv(my $data, 1024); print $data; }