// // daytime_server.cpp // ~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #include #include #include #include using asio::ip::tcp; std::string make_daytime_string() { using namespace std; // For time_t, time and ctime; time_t now = time(0); return ctime(&now); } int main() { try { asio::io_context io_context; tcp::endpoint endpoint(tcp::v4(), 13); tcp::acceptor acceptor(io_context, endpoint); for (;;) { tcp::iostream stream; asio::error_code ec; acceptor.accept(stream.socket(), ec); if (!ec) { stream << make_daytime_string(); } } } catch (std::exception& e) { std::cerr << e.what() << std::endl; } return 0; }