netlibpp is a modern header only cross-platform C++ network library for developing network services using TCP/UDP protocols, it supports C++11, C++14, C++17, and C++20.
TCP client example:
#include "netlibpp.h"
#include <iostream>
int main() {
netlibpp::Client Client([](const std::string& error) {
std::cout << "Error: " << error;
}, netlibpp::TCP);
if(Client.has_error())return 1;
Client.set_target("127.0.0.1", 2030);
Client.connect();
while(Client.connected()) {
Client.send("hello\n");
auto message = Client.receive(8);
if(!message.empty()) {
std::cout << message.data() << " : " << message.size() << "\n";
}
}
return 0;
}
UDP client example:
#include "netlibpp.h"
#include <iostream>
int main() {
netlibpp::Client Client([](const std::string& error) {
std::cout << "Error: " << error;
}, netlibpp::UDP);
if(Client.has_error())return 1;
Client.set_target("127.0.0.1", 2031);
netlibpp::messageType message;
do {
Client.send("hello\n");
message = Client.receive(8);
if (!message.empty()) {
std::cout << message.data() << " : " << message.size() << "\n";
}
} while(!Client.has_error() && !message.empty());
return 0;
}