pack_sockaddr_in#

Build a packed sockaddr_in from a port number and a 4-byte IPv4 address, ready to hand to bind or connect.

Σύνοψη#

my $sin = pack_sockaddr_in($port, $packed_ipv4);

Τι επιστρέφεται#

A fixed-size byte string whose layout matches the platform’s struct sockaddr_in: address family (AF_INET), port in network byte order, the raw 4 address bytes, and trailing padding. The result is opaque from Perl’s perspective - treat it as a cookie for the socket built-ins.

Παραδείγματα#

my $addr = pack_sockaddr_in(80, inet_aton("example.com"));
connect($sock, $addr) or die $!;
## Bind to every local interface on a chosen port.

bind($sock, pack_sockaddr_in(8080, INADDR_ANY)) or die $!;

Οριακές περιπτώσεις#

  • Port is truncated to 16 bits; values above 65535 wrap silently.

  • An address string shorter than 4 bytes leaves the address field zeroed (i.e. 0.0.0.0).

  • The address argument is a packed 4-byte string, not a dotted-quad literal. Pass inet_aton(...) or INADDR_*.

Διαφορές από το upstream#

Fully compatible with upstream Socket.

Δείτε επίσης#

  • unpack_sockaddr_in - reverse direction.

  • sockaddr_in - dual-mode shortcut that dispatches on arg count.

  • pack_sockaddr_in6 - IPv6 counterpart.

  • inet_aton - usual source of the address argument.