20 std::cout <<
"=== Network System - Basic Usage Example ===" << std::endl;
23 std::cout <<
"\n1. TCP Server Setup:" << std::endl;
27 const unsigned short port = 8080;
29 auto server = tcp.create_server({
31 .server_id =
"BasicServer"
33 std::cout <<
"Server created with ID: BasicServer" << std::endl;
36 auto server_result = server->start(port);
38 if (server_result.is_err()) {
39 std::cerr <<
"✗ Failed to start server" << std::endl;
43 std::cout <<
"✓ Server started on port " << port << std::endl;
46 std::this_thread::sleep_for(std::chrono::milliseconds(100));
49 std::cout <<
"\n2. TCP Client Setup:" << std::endl;
52 auto client = tcp.create_client({
55 .client_id =
"BasicClient"
57 std::cout <<
"Client created with ID: BasicClient" << std::endl;
60 auto client_result = client->start(
"localhost", port);
62 if (client_result.is_err()) {
63 std::cerr <<
"✗ Failed to connect client" << std::endl;
68 std::cout <<
"✓ Client connected to localhost:" << port << std::endl;
71 std::this_thread::sleep_for(std::chrono::milliseconds(100));
74 std::cout <<
"\n3. Data Transmission:" << std::endl;
77 std::string
message =
"Hello from Network System!";
80 std::cout <<
"Sending message: \"" <<
message <<
"\"" << std::endl;
83 auto send_result = client->send(std::move(data));
85 if (send_result.is_err()) {
86 std::cerr <<
"✗ Failed to send message" << std::endl;
88 std::cout <<
"✓ Message sent successfully" << std::endl;
92 std::cout <<
"\n4. Connection Status:" << std::endl;
94 if (client->is_connected()) {
95 std::cout <<
"✓ Client is connected" << std::endl;
97 std::cout <<
"✗ Client is disconnected" << std::endl;
101 std::cout <<
"\n5. Binary Data Transmission:" << std::endl;
103 std::vector<uint8_t> binary_data = {0x01, 0x02, 0x03, 0x04, 0x05, 0xFF, 0xFE, 0xFD};
104 std::cout <<
"Sending binary data (" << binary_data.size() <<
" bytes)" << std::endl;
106 auto binary_result = client->send(std::move(binary_data));
108 if (binary_result.is_err()) {
109 std::cerr <<
"✗ Failed to send binary data" << std::endl;
111 std::cout <<
"✓ Binary data sent successfully" << std::endl;
115 std::cout <<
"\n6. Cleanup:" << std::endl;
118 auto client_stop_result = client->stop();
119 if (client_stop_result.is_err()) {
120 std::cerr <<
"✗ Failed to stop client" << std::endl;
122 std::cout <<
"✓ Client stopped" << std::endl;
126 auto server_stop_result = server->stop();
127 if (server_stop_result.is_err()) {
128 std::cerr <<
"✗ Failed to stop server" << std::endl;
130 std::cout <<
"✓ Server stopped" << std::endl;
134 std::cout <<
"\n=== Summary ===" << std::endl;
135 std::cout <<
"✓ Server/Client creation" << std::endl;
136 std::cout <<
"✓ TCP connection establishment" << std::endl;
137 std::cout <<
"✓ Text and binary data transmission" << std::endl;
138 std::cout <<
"✓ Result<T> based error handling" << std::endl;
139 std::cout <<
"✓ Zero-copy data transfer with std::move" << std::endl;
140 std::cout <<
"✓ Clean shutdown" << std::endl;
142 std::cout <<
"\n=== Basic Usage Example completed ===" << std::endl;