Library: Net
Package: Sockets
Header: Poco/Net/MulticastSocket.h
A MulticastSocket is a special DatagramSocket that can be used to send packets to and receive packets from multicast groups.
Direct Base Classes: DatagramSocket
All Base Classes: DatagramSocket, Socket
Member Functions: getInterface, getLoopback, getTimeToLive, joinGroup, leaveGroup, operator =, setInterface, setLoopback, setTimeToLive
Inherited Functions: address, available, bind, close, connect, getBlocking, getBroadcast, getKeepAlive, getLinger, getNoDelay, getOOBInline, getOption, getReceiveBufferSize, getReceiveTimeout, getReuseAddress, getReusePort, getSendBufferSize, getSendTimeout, impl, init, operator !=, operator <, operator <=, operator =, operator ==, operator >, operator >=, peerAddress, poll, receiveBytes, receiveFrom, secure, select, sendBytes, sendTo, setBlocking, setBroadcast, setKeepAlive, setLinger, setNoDelay, setOOBInline, setOption, setReceiveBufferSize, setReceiveTimeout, setReuseAddress, setReusePort, setSendBufferSize, setSendTimeout, sockfd, supportsIPv4, supportsIPv6
Creates the MulticastSocket.
explicit MulticastSocket(
IPAddress::Family family
);
Creates an unconnected multicast socket.
The socket will be created for the given address family.
MulticastSocket(
const Socket & socket
);
Creates the MulticastSocket with the SocketImpl from another socket. The SocketImpl must be a DatagramSocketImpl, otherwise an InvalidArgumentException will be thrown.
MulticastSocket(
const SocketAddress & address,
bool reuseAddress = false
);
Creates a multicast socket and binds it to the given address.
Depending on the address family, the socket will be either an IPv4 or an IPv6 socket.
~MulticastSocket();
Destroys the DatagramSocket.
NetworkInterface getInterface() const;
Returns the interface used for sending multicast packets.
bool getLoopback() const;
Returns true if and only if loopback for multicast packets is enabled, false otherwise.
unsigned getTimeToLive() const;
Returns the TTL/hop limit for outgoing packets.
void joinGroup(
const IPAddress & groupAddress
);
Joins the specified multicast group at the default interface.
void joinGroup(
const IPAddress & groupAddress,
const NetworkInterface & interfc
);
Joins the specified multicast group at the given interface.
void leaveGroup(
const IPAddress & groupAddress
);
Leaves the specified multicast group at the default interface.
void leaveGroup(
const IPAddress & groupAddress,
const NetworkInterface & interfc
);
Leaves the specified multicast group at the given interface.
MulticastSocket & operator = (
const Socket & socket
);
Assignment operator.
Releases the socket's SocketImpl and attaches the SocketImpl from the other socket and increments the reference count of the SocketImpl.
void setInterface(
const NetworkInterface & interfc
);
Sets the interface used for sending multicast packets.
To select the default interface, specify an empty interface.
This is done by setting the IP_MULTICAST_IF/IPV6_MULTICAST_IF socket option.
void setLoopback(
bool flag
);
Enable or disable loopback for multicast packets.
Sets the value of the IP_MULTICAST_LOOP/IPV6_MULTICAST_LOOP socket option.
void setTimeToLive(
unsigned value
);
Specifies the TTL/hop limit for outgoing packets.
Sets the value of the IP_MULTICAST_TTL/IPV6_MULTICAST_HOPS socket option.