22 int main(
int argc,
char** argv) {
23 using namespace libwire;
24 using namespace std::literals::string_view_literals;
27 std::cerr <<
"Usage: echo-server <port>\n";
31 uint16_t port = std::stoi(argv[1]);
36 std::cout <<
"Listening on port " << port <<
".\n";
40 auto sock = listener.accept();
41 endpoint source = sock.remote_endpoint();
43 std::cout <<
"Accepted connection from " << source.
to_string() <<
".\n";
47 sock.read_until(
'\n', buf);
48 std::cout <<
"< " << buf <<
'\n';
51 std::cout <<
"> " << buf <<
'\n';
52 }
catch (std::system_error&) {
57 std::cout <<
"Disconnected.\n";
Restricted wrapper for TCP listening socket.
std::string to_string() const noexcept
Convert endpoint type to string representation.
int main(int argc, char **argv)
void listen(endpoint target, std::error_code &ec, unsigned max_backlog=internal_::socket::max_pending_connections) noexcept
Start listening for incoming connections on specified endpoint.