Package : perl-Socket-GetAddrInfo

Package details

Summary: RFC 2553's C<getaddrinfo> and C<getnameinfo>

Description:
The RFC 2553 functions 'getaddrinfo' and 'getnameinfo' provide an
abstracted way to convert between a pair of host name/service name and
socket addresses, or vice versa. 'getaddrinfo' converts names into a set of
arguments to pass to the 'socket()' and 'connect()' syscalls, and
'getnameinfo' converts a socket address back into its host name/service
name pair.

These functions provide a useful interface for performing either of these
name resolution operation, without having to deal with IPv4/IPv6
transparency, or whether the underlying host can support IPv6 at all, or
other such issues. However, not all platforms can support the underlying
calls at the C layer, which means a dilemma for authors wishing to write
forward-compatible code. Either to support these functions, and cause the
code not to work on older platforms, or stick to the older "legacy"
resolvers such as 'gethostbyname()', which means the code becomes more
portable.

This module attempts to solve this problem, by detecting at compiletime
whether the underlying OS will support these functions, and only compiling
the XS code if it can. At runtime, when the module is loaded, if the XS
implementation is not available, emulations of the functions using the
legacy resolver functions instead. The emulations support the same
interface as the real functions, and behave as close as is reasonably
possible to emulate using the legacy resolvers. See below for details on
the limits of this emulation.


URL: http://search.cpan.org/dist/Socket-GetAddrInfo
License: GPL+ or Artistic

Maintainer: nobody

List of RPMs