#include "UDPServer/UDPServer.h" #include "ReceiverThreads/ReceiverThreads.h" #include #include #include #include #include #include void initLog() { /* #ifndef NDEBUG boost::log::core::get()->set_filter(boost::log::trivial::severity >= boost::log::trivial::debug); #else boost::log::core::get()->set_filter(boost::log::trivial::severity >= boost::log::trivial::info); #endif */ boost::log::core::get()->set_filter(boost::log::trivial::severity >= boost::log::trivial::info); } void start(std::function func){ std::thread([func]() { while (true) { func(); } }).detach(); } int main (int argc, char *argv[]){ initLog(); if(argc < 4){ BOOST_LOG_TRIVIAL(error) << "Program usage: ./onlineDetectorSimulatorServer
"; return 0; } std::string address = argv[1]; int firstPort = std::stoi(argv[2]); int numPorts = std::stoi(argv[3]); // int port = 4002; // // UDPServer server = UDPServer(address, port); std::size_t length{32768}; std::size_t lastIndex{0}; std::vector buf(16000); printf("Receving udp packets on ports %u - %u\n", firstPort, firstPort + numPorts); ReceiverThreads(address, 10, numPorts, firstPort); // for(auto i = 0; i < 27; i++){ // std::function f = [=]() { // server.recv(); // }; // start(); // } // while(true){ // int bytes = server.recv((char*)buf.data(), length); // std::size_t index = *((std::size_t *)buf.data()); // if(index%1000 == 99) printf("%lu\n", index); // // if(lastIndex != (index-1)) // BOOST_LOG_TRIVIAL(warning) << "Packet loss or wrong order!"; // // lastIndex = index; // // BOOST_LOG_TRIVIAL(debug) << "Server: Received " << bytes << " Bytes with Index " << index; // } return 0; }