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.