1 #ifndef GRAIL_UDPSERVER_H
2 #define GRAIL_UDPSERVER_H
4 #include "../../libs/poco/Net/include/Poco/Net/DatagramSocket.h"
5 #include "../../libs/poco/Net/include/Poco/Net/SocketAddress.h"
6 #include "../../libs/poco/Net/include/Poco/Net/HostEntry.h"
19 UDPServer(
const std::string& appName,
unsigned int serverPort,
unsigned long bufferSize = 1024,
bool sendFakeNames =
false);
21 void StartReceive(
const Poco::Net::IPAddress& ipHost);
24 void RebuildInterfaces();
28 constexpr
static std::size_t ITERATIONS_BETWEEN_REBUILD{500};
29 constexpr
static Poco::UInt16 UDP_LISTENER_PORT{6661};
30 const static std::string SEARCH_COMMAND;
32 const std::string appName{
""};
33 const unsigned int serverPort{0};
34 const bool sendFakeNames{
false};
35 std::string hostName{
""};
37 std::unique_ptr<std::thread> udpCheckerThread{
nullptr};
39 std::vector<Poco::Net::IPAddress> interfaces{};
40 Poco::Net::HostEntry localHostEntry{};
42 Poco::Net::SocketAddress anyAddress{};
44 std::atomic<bool> isWorking{
true};
46 std::map<std::string, Poco::Net::DatagramSocket> sockets{};
47 char* buffer{
nullptr};
48 unsigned long bufferSize;
Definition: UDPServer.h:17