25 int main(
int argc,
char** argv) {
26 using namespace libwire;
27 using namespace std::literals::string_view_literals;
30 std::cerr <<
"Usage: echo-server <port>\n";
34 uint16_t port = std::stoi(argv[1]);
35 std::cout <<
"Listening on port " << port <<
".\n";
46 size_t lf = buf.find_last_of(
'\n');
51 std::cout <<
"< " << buf <<
'\n';
52 std::cout <<
"> " << buf <<
'\n';
55 sock.
write(buf, source);
56 }
catch (std::system_error& ex) {
57 std::cout <<
"ERR: " << ex.what() <<
'\n';
size_t write(const Buffer &, std::error_code &, const endpoint &dest=endpoint::invalid) noexcept
Write contents of buffer to socket.
void listen(endpoint target, std::error_code &ec) noexcept
Accept datagrams coming on specified endpoint.
int main(int argc, char **argv)
Buffer & read(size_t bytes_count, Buffer &, std::error_code &, endpoint *source=nullptr) noexcept
Read pending datagram into buffer.
Descriptor wrapper for UDP socket.
constexpr size_t max_msg_size