Perl中的套接字编程

时间:2011-09-08 22:31:09

标签: perl sockets network-programming

我是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)时处理异常。有什么想法可以做到吗?

非常感谢你

1 个答案:

答案 0 :(得分:7)

UDP是一个unreliable协议,这意味着它无法找出交付是否成功的方法。

一种选择是切换到可靠的协议,如TCP。

另一种是自己处理送货通知。让主机在收到您的数据包后发送回复。如果在X秒内未收到回复,则表示发生错误。