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::SAPclass. 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::SAPobject 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
- $sap->send( $data )
This method sends out SAP packet on the multicast group that the
Net::SAPobject to bound to. The $data parameter can either be a
Net::SDPobject or raw SDP data.
Net::SAP::Packetobject 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.
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
Please report any bugs or feature requests to
email@example.com, 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, firstname.lastname@example.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.