#ifndef MULTICASTCLIENT_H #define MULTICASTCLIENT_H #include #include #include namespace Network { class MulticastClientImpl; class MulticastClient { public: MulticastClient(const std::string& listenAddress, const std::string& multicastAddress, int multicastPort, std::function callback); ~MulticastClient(); public: void Receive(); std::string Send(const std::string& data, int sourcePort = 0); void Broadcast(const std::string& data, int sourcePort = 0); private: std::unique_ptr m_pMulticastClientImpl; }; } // namespace Network #endif // MULTICASTCLIENT_H