Я новачок у програмі Socket. Ось що я намагаюся зробити:
Я хотів би передати пакет на інший сервер в мережі через з'єднання UDP.
Ось короткий фрагмент коду, який я написав у Perl:
# create udp socket
$sock = IO::Socket::INET->new(
Proto => "udp",
PeerPort => "5001",
PeerAddr => defined $ip ? $ip : "10.42.43.2"
) or die "Socket could not be created: $!n";
Я хотів би обробити виняток, коли хост (10.42.43.2) недоступний. Будь-які ідеї, як це можна зробити?
Велике спасибі
Відповіді:
7 для відповіді № 1UDP є ненадійний протокол, що означає, що він не надає засобу для виявлення успішності доставки.
Одним з варіантів є перехід до надійного протоколу, наприклад TCP.
Інший - обробляти сповіщення про доставку. Попросіть господаря надіслати відповідь на отримання пакета. Якщо протягом Х секунд не було отримано жодної відповіді, сталася помилка.