mod_perl logo perl icon
previous page: APR::Pool - Perl API for APR poolspage up: mod_perl 2.0 APInext page: APR::Socket - Perl API for APR sockets

APR::SockAddr - Perl API for APR socket address structure






Writing Apache Modules with Perl and C

Writing Apache Modules with Perl and C

By Lincoln Stein, Doug MacEachern
Embedding Perl in HTML with Mason

Embedding Perl in HTML with Mason

By Dave Rolsky, Ken Williams
mod_perl2 User's Guide

mod_perl2 User's Guide

By Stas Bekman, Jim Brandt
Practical mod_perl

Practical mod_perl

By Stas Bekman, Eric Cholet
The mod_perl Developer's Cookbook

The mod_perl Developer's Cookbook

By Geoffrey Young, Paul Lindner, Randy Kobes
mod_perl Pocket Reference

mod_perl Pocket Reference

By Andrew Ford


Table of Contents

Synopsis

  use APR::SockAddr ();
  
  my $ip = $sock_addr->ip_get;
  my $port = $sock_addr->port;


TOP

Description

APR::SockAddr provides an access to a socket address structure fields.

Normally you'd get a socket address object, by calling:

  use Apache2::Connection ();
  my $remote_sock_addr = $c->remote_addr;
  my $local_sock_addr  = $c->remote_local;


TOP

API

APR::SockAddr provides the following functions and/or methods:



TOP

ip_get

Get the IP address of the socket

  $ip = $sock_addr->ip_get();

If you are familiar with how perl's Socket works:

  use Socket 'sockaddr_in';
  my ($serverport, $serverip) = sockaddr_in(getpeername($local_sock));
  my ($remoteport, $remoteip) = sockaddr_in(getpeername($remote_sock));

in apr-speak that'd be written as:

  use APR::SockAddr ();
  use Apache2::Connection ();
  my $serverport = $c->local_addr->port;
  my $serverip   = $c->local_addr->ip_get;
  my $remoteport = $c->remote_addr->port;
  my $remoteip   = $c->remote_addr->ip_get;


TOP

port

Get the IP address of the socket

  $port = $sock_addr->port();

Example: see ip_get()



TOP

Unsupported API

APR::SockAddr also provides auto-generated Perl interface for a few other methods which aren't tested at the moment and therefore their API is a subject to change. These methods will be finalized later as a need arises. If you want to rely on any of the following methods please contact the the mod_perl development mailing list so we can help each other take the steps necessary to shift the method to an officially supported API.



TOP

equal

META: Autogenerated - needs to be reviewed/completed

See if the IP addresses in two APR socket addresses are equivalent. Appropriate logic is present for comparing IPv4-mapped IPv6 addresses with IPv4 addresses.

  $ret = $addr1->equal($addr2);

The return value will be non-zero if the addresses are equivalent.



TOP

See Also

mod_perl 2.0 documentation.



TOP

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.



TOP

Authors

The mod_perl development team and numerous contributors.






TOP
previous page: APR::Pool - Perl API for APR poolspage up: mod_perl 2.0 APInext page: APR::Socket - Perl API for APR sockets