2011-09-08 35 views
2

我是Socket编程的新手。以下是我正在尝试执行的操作:Perl中的套接字编程

我想通过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

UDPunreliable协议,这意味着它不提供发现如果分娩成功与否的手段。

一种选择是切换到TCP等可靠协议。

另一个是自己处理传递通知。主机在接收到数据包时发送回复。如果在X秒内未收到答复,则会发生错误。

+0

非常感谢。我尝试了第二种方法,因为从tcp更改为udp需要进行大量设计更改。谢谢你的时间。 – Kiran