Shows how to use xtd::net::sockets::tcp_client class.
#include <xtd/xtd>
auto main() -> int {
auto terminate_app = false;
auto server = thread {[&] {
auto listener = net::sockets::tcp_listener {net::ip_end_point(net::ip_address::ip_v6_any, 9400)};
listener.start();
auto stream = listener.accept_tcp_client().get_stream();
auto reader = stream_reader {stream};
while (!terminate_app)
if (stream.data_available()) console::write_line(reader.read_line());
}};
auto client = thread {[&] {
auto client = net::sockets::tcp_client {net::sockets::address_family::inter_network_v6};
client.connect(net::ip_address::ip_v6_loopback, 9400);
auto stream = client.get_stream();
auto writer = stream_writer {stream};
auto counter = 0;
while (!terminate_app) {
writer.write_line("counter={}", ++counter);
thread::sleep(50_ms);
}
}};
server.start();
client.start();
console::read_key();
terminate_app = true;
server.join();
client.join();
}