#include <xtd/io/stream_reader>
#include <xtd/io/stream_writer>
#include <xtd/net/sockets/socket>
#include <xtd/net/sockets/network_stream>
#include <xtd/net/ip_end_point>
#include <xtd/threading/thread>
#include <xtd/console>
auto main() -> int {
auto terminate_app = false;
auto server_socket =
socket {address_family::inter_network, socket_type::stream, protocol_type::tcp};
server_socket.listen();
while (!terminate_app)
if (stream.data_available()) console::write_line(reader.read_line());
}};
server.start();
auto stream =
network_stream {
socket {address_family::inter_network, socket_type::stream, protocol_type::tcp}};
stream.socket().connect(ip_address::loopback, 9400);
auto counter = 0;
while (!terminate_app) {
writer.write_line(string::format("counter={}", ++counter));
thread::sleep(50_ms);
}
}};
client.start();
console::read_key();
terminate_app = true;
server.join();
client.join();
}
Implements a xtd::io::text_reader that reads characters from a byte stream.
Definition stream_reader.h:28
Implements a xtd::io::text_writer for writing characters to a stream.
Definition stream_writer.h:28
Represents a network endpoint as an IP address and a port number.
Definition ip_end_point.h:23
Provides the underlying stream of data for network access.
Definition network_stream.h:37
Implements the Berkeley sockets interface.
Definition socket.h:74
void bind(const end_point_t &local_end_point)
Associates a xtd::net::sockets::socket with a local endpoint.
Definition socket.h:798
Creates and controls a thread, sets its priority, and gets its status.
Definition thread.h:43
The xtd::io namespace contains types that allow reading and writing to files and data streams,...
Definition binary_reader.h:16
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:11
The xtd::threading namespace provides classes and interfaces that enable multithreaded programming....
Definition abandoned_mutex_exception.h:11
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.h:10