Да, вопрос звучит немного странно. Я хочу просто разобраться, как так получается, что ответ приходит так быстро, несмотря на то, что мы работаем с UDP.
Код: Выделить всё
my ($session, $error) = Net::SNMP->session(
-hostname => shift || $o_host,
-version => "snmpv2c",
-community => shift || $o_community,
-port => shift || 161,
);
unless (defined($session)){
print "ERROR: No SNMP Response\n";
exit $states{"UNKNOWN"};
}
С perl я не на столько хорошо знаком, но, если я не ошибаюсь, тут мы делаем обычный запрос на 161 порт. Если ответа нет... имено "ответа нет", а не "получилось ли установить соединение", потому что, как я уже сказал, работаем мы с UDP. Так вот, если ответа нет, то мы получаем ошибку. Получаем её вообще без задержки. Моментально. Если вызвать snmpwalk, то ждать ответа придется намного дольше.
Может создается tcp соединение?
Буду благодарен за любые предположения, идеи и т.д.