#include <xtd/io/stream_reader>
#include <xtd/net/sockets/udp_client>
#include <xtd/net/ip_end_point>
#include <xtd/threading/thread>
#include <xtd/console>
auto main()->int {
auto terminate_app = false;
while (!terminate_app) {
auto buffer = udp.receive(incoming_end_point);
if (buffer.size() && buffer[0] != 0xFF)
console::write_line(
ustring(buffer.begin(), buffer.end()));
}
}};
auto udp =
udp_client {address_family::inter_network_v6};
auto counter = 0;
while (!terminate_app) {
auto str = ustring::format("counter={}", ++counter);
udp.send(std::vector<unsigned char>(str.begin(), str.end()), str.size(),
ip_end_point(ip_address::ip_v6_loopback, 9400));
thread::sleep(50_ms);
}
udp.send(std::vector<unsigned char> {0xFF}, 1,
ip_end_point(ip_address::ip_v6_loopback, 9400));
}};
server.start();
client.start();
console::read_key();
terminate_app = true;
server.join();
client.join();
}
Represents a network endpoint as an IP address and a port number.
Definition ip_end_point.h:21
Provides User Datagram Protocol (UDP) network services.
Definition udp_client.h:43
Creates and controls a thread, sets its priority, and gets its status.
Definition thread.h:41
Represents text as a sequence of UTF-8 code units.
Definition ustring.h:47
The xtd::net::sockets namespace provides a managed implementation of the Berkeley Sockets interface f...
Definition address_family.h:16
The xtd::net namespace provides a simple programming interface for many of the protocols used on netw...
Definition cookie_exception.h:10
The xtd::threading namespace provides classes and interfaces that enable multithreaded programming....
Definition abandoned_mutex_exception.h:10
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10