我是Socket Programming的新手。这是我想要做的:
我想通过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)时处理异常。有什么想法可以做到吗?
非常感谢你
答案 0 :(得分:7)
UDP是一个unreliable协议,这意味着它无法找出交付是否成功的方法。
一种选择是切换到可靠的协议,如TCP。
另一种是自己处理送货通知。让主机在收到您的数据包后发送回复。如果在X秒内未收到回复,则表示发生错误。