MulticastClient.h 655 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef MULTICASTCLIENT_H
  2. #define MULTICASTCLIENT_H
  3. #include <functional>
  4. #include <memory>
  5. #include <string>
  6. namespace Network {
  7. class MulticastClientImpl;
  8. class MulticastClient
  9. {
  10. public:
  11. MulticastClient(const std::string& listenAddress, const std::string& multicastAddress, int multicastPort, std::function<void(const std::string&)> callback);
  12. ~MulticastClient();
  13. public:
  14. void Receive();
  15. std::string Send(const std::string& data, int sourcePort = 0);
  16. void Broadcast(const std::string& data, int sourcePort = 0);
  17. private:
  18. std::unique_ptr<MulticastClientImpl> m_pMulticastClientImpl;
  19. };
  20. } // namespace Network
  21. #endif // MULTICASTCLIENT_H