IP Multicast
Overview
// global functions apr_status_t apr_mcast_join( apr_socket_t* sock, apr_sockaddr_t* join, apr_sockaddr_t* iface, apr_sockaddr_t* source ); apr_status_t apr_mcast_leave( apr_socket_t* sock, apr_sockaddr_t* addr, apr_sockaddr_t* iface, apr_sockaddr_t* source ); apr_status_t apr_mcast_hops( apr_socket_t* sock, apr_byte_t ttl ); apr_status_t apr_mcast_loopback( apr_socket_t* sock, apr_byte_t opt ); apr_status_t apr_mcast_interface( apr_socket_t* sock, apr_sockaddr_t* iface );
Detailed Documentation
Global Functions
apr_status_t apr_mcast_join( apr_socket_t* sock, apr_sockaddr_t* join, apr_sockaddr_t* iface, apr_sockaddr_t* source )
Join a Multicast Group
Parameters:
sock |
The socket to join a multicast group |
join |
The address of the multicast group to join |
iface |
Address of the interface to use. If NULL is passed, the default multicast interface will be used. (OS Dependent) |
source |
Source Address to accept transmissions from (non-NULL implies Source-Specific Multicast) |
apr_status_t apr_mcast_leave( apr_socket_t* sock, apr_sockaddr_t* addr, apr_sockaddr_t* iface, apr_sockaddr_t* source )
Leave a Multicast Group. All arguments must be the same as apr_mcast_join.
Parameters:
sock |
The socket to leave a multicast group |
addr |
The address of the multicast group to leave |
iface |
Address of the interface to use. If NULL is passed, the default multicast interface will be used. (OS Dependent) |
source |
Source Address to accept transmissions from (non-NULL implies Source-Specific Multicast) |
apr_status_t apr_mcast_hops( apr_socket_t* sock, apr_byte_t ttl )
Set the Multicast Time to Live (ttl) for a multicast transmission. If the TTL is 0, packets will only be seen by sockets on the local machine, and only when multicast loopback is enabled.
Parameters:
sock |
The socket to set the multicast ttl |
ttl |
Time to live to Assign. 0-255, default=1 |
apr_status_t apr_mcast_loopback( apr_socket_t* sock, apr_byte_t opt )
Toggle IP Multicast Loopback
Parameters:
sock |
The socket to set multicast loopback |
opt |
0=disable, 1=enable |
apr_status_t apr_mcast_interface( apr_socket_t* sock, apr_sockaddr_t* iface )
Set the Interface to be used for outgoing Multicast Transmissions.
Parameters:
sock |
The socket to set the multicast interface on |
iface |
Address of the interface to use for Multicast |