Net::SAP - Session Announcement Protocol (rfc2974)
use Net::SAP;
my $sap = Net::SAP->new( 'ipv6-global' );
my $packet = $sap->receive();
$sap->close();
Net::SAP allows receiving and sending of SAP (RFC2974) multicast packets over
IPv4 and IPv6.
- $sap = Net::SAP->new( $group )
- The new() method is the constructor for the
"Net::SAP" class. You must specify the
SAP multicast group you want to join:
ipv4-local
ipv4-org
ipv4-global
ipv6-node
ipv6-link
ipv6-site
ipv6-org
ipv6-global
Alternatively you may pass the address of the multicast group
directly. When the "Net::SAP" object
is created, it joins the multicast group, ready to start receiving or
sending packets.
- $packet = $sap->receive()
- This method blocks until a valid SAP packet has been received. The packet
is parsed, decompressed and returned as a
"Net::SAP::Packet" object.
- $sap->send( $data )
- This method sends out SAP packet on the multicast group that the
"Net::SAP" object to bound to. The
$data parameter can either be a
"Net::SAP::Packet" object, a
"Net::SDP" object or raw SDP data.
Passing a "Net::SAP::Packet"
object gives the greatest control over what is sent. Otherwise default
values will be used.
If no origin_address has been set, then it is set to the IP
address of the first network interface.
Packets greater than 1024 bytes will not be sent. This method
returns 0 if packet was sent successfully.
- $group = $sap->group()
- Returns the address of the multicast group that the socket is bound
to.
- $ttl = $sap->ttl( [$value] )
- Gets or sets the TTL of outgoing packets.
- $sap->close()
- Leave the SAP multicast group and close the socket.
- add automatic detection of IPv6 origin address
- add method of choosing the network interface to use for multicast
- Packet decryption and validation
Net::SAP::Packet, Net::SDP, perl(1)
<http://www.ietf.org/rfc/rfc2974.txt>
Please report any bugs or feature requests to
"bug-net-sap@rt.cpan.org", or through the
web interface at <http://rt.cpan.org>. I will be notified, and then you
will automatically be notified of progress on your bug as I make changes.
Nicholas J Humfrey, njh@cpan.org
Copyright (C) 2004-2006 University of Southampton
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself, either Perl version 5.005 or,
at your option, any later version of Perl 5 you may have available.