BroadcastClient.h 618 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef BROADCASTCLIENT_H
  2. #define BROADCASTCLIENT_H
  3. #include <functional>
  4. #include <memory>
  5. #include <string>
  6. namespace Network {
  7. class BroadcastClientImpl;
  8. class BroadcastClient
  9. {
  10. public:
  11. BroadcastClient(const std::string& listenAddress, int broadcastPort, std::function<void(const std::string&)> callback);
  12. ~BroadcastClient();
  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<BroadcastClientImpl> m_pBroadcastClientImpl;
  19. };
  20. } // namespace Network
  21. #endif // BROADCASTCLIENT_H