/* * main.cpp * * Created on: 5 сент. 2022 г. * Author: alexander */ #include #include #include #include void print(std::string buffer, zh::ServerTCP &s) { std::cout << buffer << std::endl; } void stop(std::string buffer, zh::ServerTCP &s) { s.stop(); } void disconnect(std::string buffer, zh::ServerTCP &s) { s.disconnect(); } void server(const int port) { zh::ServerTCP tcpServer(port); tcpServer.registerHook("", print); tcpServer.registerHook("disconnect", disconnect); tcpServer.registerHook("stop", stop); tcpServer.bind(); tcpServer.listen(); } void client(const int port, const std::string &host) { zh::ClientTCP tcpClient(host, port); tcpClient.connect(); } int main(int argc, char *argv[]) { ap::Hub hub({{ "port", 'p', ap::REQUIRED }, { "host", 'h', ap::REQUIRED }}); hub.readArguments(argc, argv); auto optionPort = hub.getOption('p'); if (!optionPort.isSet()) { std::cerr << "Порт не был установлен!" << std::endl; exit(EXIT_FAILURE); } auto optionHost = hub.getOption('h'); if (!optionHost.isSet()) { std::cerr << "Адрес не был установлен!" << std::endl; exit(EXIT_FAILURE); } int port = std::stoi(optionPort.getValues()[0]); std::string host = optionHost.getValues()[0]; server(port); // client(port, host); return 0; }