Yea posix is huge, if that works for you go for it!
Another interesting wrinkle is that if you dont supply a LocalPort => on the new it will pick a "random?" UNUSED port. You can then find what the port is via my $port=$socket->sockport ();. I cant find a reference to this right now, but this goes way back, possibly as part of the native socket calls.
so if you replace
withmy $port = 54321; my $socket = IO::Socket::INET->new( Proto => 'udp', LocalPort => $port, LocalAddr => '127.0.0.1' ); die "Unable to bind to 127.0.0.1:$port: $!\n" unless $socket;
you can still pass the port to the monitored.pl, it is less likely somebody can spoof udp "input" to you, and you can have more than one running at the same time.my $socket = IO::Socket::INET->new( Proto => 'udp', LocalAddr => '127.0.0.1' ); die "Unable to bind to 127.0.0.1: $!\n" unless $socket; my $port=$socket->sockport (); print 'on:'.$port."\n";
In reply to Re^5: Shared memory and asynchronous access
by huck
in thread Shared memory and asynchronous access
by vef445
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |