32 lines
594 B
C++
32 lines
594 B
C++
#ifndef UDPCLIENT_H
|
|
#define UDPCLIENT_H
|
|
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
|
|
namespace Network {
|
|
|
|
class UdpClientImpl;
|
|
|
|
class UdpClient
|
|
{
|
|
public:
|
|
UdpClient(const std::string& listenAddress, const std::string& targetAddress, int targetPort, std::function<void(const std::string&)> callback);
|
|
~UdpClient();
|
|
|
|
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<UdpClientImpl> m_pUdpClientImpl;
|
|
};
|
|
|
|
} // namespace Network
|
|
|
|
#endif // UDPCLIENT_H
|