added Socket::joinMulticastGroup() and Socket::leaveMulticastGroup()

This commit is contained in:
2018-10-18 07:30:25 +00:00
parent 72345c7280
commit 05c2905a0a
4 changed files with 118 additions and 6 deletions

View File

@ -95,6 +95,8 @@ public:
qse_ssize_t receive (void* buf, qse_size_t len, SocketAddress& srcaddr) QSE_CPP_NOEXCEPT;
/* TODO: sendmsg, recvmsg */
int joinMulticastGroup (const SocketAddress& mcaddr, const SocketAddress& ifaddr);
int leaveMulticastGroup (const SocketAddress& mcaddr, const SocketAddress& ifaddr);
// utility functions to retrieve network configuration information.
int getIfceIndex (const qse_mchar_t* name);

View File

@ -67,10 +67,13 @@ public:
void setIpaddr (const qse_ip4ad_t* ipaddr) QSE_CPP_NOEXCEPT;
void setIpaddr (const qse_ip6ad_t* ipaddr) QSE_CPP_NOEXCEPT;
const qse_ip4ad_t* getIp4addr () const QSE_CPP_NOEXCEPT;
const qse_ip6ad_t* getIp6addr () const QSE_CPP_NOEXCEPT;
qse_uint16_t getPort() const QSE_CPP_NOEXCEPT; // in network-byte order
void setPort (qse_uint16_t port) QSE_CPP_NOEXCEPT; // in network-byte order
qse_uint32_t getScopeId () QSE_CPP_NOEXCEPT; // in network-byte order
qse_uint32_t getScopeId () const QSE_CPP_NOEXCEPT; // in network-byte order
void setScopeId (qse_uint32_t scope_id) QSE_CPP_NOEXCEPT; // in network-byte order
int set (const qse_skad_t* skad) QSE_CPP_NOEXCEPT;