24 #ifndef __NETCOMM_SOCKET_DATAGRAM_MULTICAST_H_ 25 #define __NETCOMM_SOCKET_DATAGRAM_MULTICAST_H_ 27 #include <netcomm/socket/socket.h> 28 #include <netinet/in.h> 36 const char *multicast_addr_s,
unsigned short port,
44 virtual void bind(
const unsigned short int port);
45 virtual void bind(
const unsigned short int port,
46 const char *hostname);
48 virtual void send(
void *buf,
size_t buf_len);
49 virtual void send(
void *buf,
size_t buf_len,
50 const struct sockaddr *to_addr, socklen_t addr_len)
51 {
send(buf, buf_len); }
57 struct ::sockaddr_in *multicast_addr;
void set_ttl(int ttl)
Set multicast time-to-live (TTL)
Fawkes library namespace.
void set_loop(bool loop)
Set loopback of sent packets.
AddrType
Address type specification.
virtual void bind()
Bind socket.
virtual ~MulticastDatagramSocket()
Destructor.
MulticastDatagramSocket(AddrType addr_type, const char *multicast_addr_s, unsigned short port, float timeout=0.f)
Constructor.
Multicast datagram socket.
AddrType addr_type
Address type/family of socket.
virtual void send(void *buf, size_t buf_len)
Send data.
float timeout
Timeout in seconds for various operations.
virtual void send(void *buf, size_t buf_len, const struct sockaddr *to_addr, socklen_t addr_len)
Send message.
virtual Socket * clone()
Clone socket.