33 lines
655 B
C++
33 lines
655 B
C++
#ifndef MULTICASTCLIENT_H
|
|
#define MULTICASTCLIENT_H
|
|
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
|
|
namespace Network {
|
|
|
|
class MulticastClientImpl;
|
|
|
|
class MulticastClient
|
|
{
|
|
public:
|
|
MulticastClient(const std::string& listenAddress, const std::string& multicastAddress, int multicastPort, std::function<void(const std::string&)> 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<MulticastClientImpl> m_pMulticastClientImpl;
|
|
};
|
|
|
|
} // namespace Network
|
|
|
|
#endif // MULTICASTCLIENT_H
|
|
|