32int main(
int argc,
char **argv) {
35 std::cerr <<
"Usage: " << argv[0] <<
" <path>\n";
39 if (!SetConsoleCtrlHandler(console_handler, TRUE)) {
40 std::cerr <<
"Error setting console handler\n";
44 struct sigaction sa = {};
47 if (sigaction(SIGINT, &sa,
nullptr) == -1) {
55 std::cout <<
"Listening for UDP datagram on port " << argv[1] <<
"...\n";
56 std::vector<uint8_t> buffer(65536);
59 ssize_t bytes = sock.
recvfrom(buffer.data(), buffer.size());
61 std::cout <<
"Received " << bytes <<
" bytes.\n";
62 std::string data(buffer.begin(), buffer.end());
63 std::cout <<
"Data: " << data;
64 }
else if (bytes < 0) {
67 std::cerr <<
"read error.\n";
73 std::cerr <<
"Exception: " << e.
text() <<
"\n";
int main(int argc, char **argv)