Код скрипта:
Код: Выделить всё
use IO::Socket::INET;
use IO::Select;
my $socket = IO::Socket::INET->new(PeerAddr => inet_ntoa(INADDR_BROADCAST),
PeerPort => $server_port,
LocalPort => $client_port,
LocalAddr => $local_address,
Proto => 'udp',
Type => SOCK_DGRAM,
Broadcast => 1)
or die "Failed configure socket, $!!";
my $select = IO::Select->new($socket) or die "Failed configure select, $!";
while ($count) {
my @ready;
print "Send request\n";
$socket->send(pack("CCCC", 2, 1, 0, 0));
@ready = $select->can_read($timeout);
print '@ready size ' . scalar @ready . "\n";
..........
}
Вывод:
Код: Выделить всё
Send request
@ready size 0
По сниферу я вижу свои запросы и ответы сервера, netstat подтверждает, что скрипт слушает нужный порт.
Вопрос - как необходимо изменить код для корректной работы?
Спасибо.