Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach.
This month, Richard Thomson will continue our look at Boost.Asio with a look at TCP/IP networking. We'll look at how to implement an NNTP (Network News Transport Protocol) client using Boost.Asio. NNTP is a line-oriented protocol for reading usenet news articles. This will give us insight into all the typical issues involved in a TCP/IP networking application:
How do we resolve a host name into an IP address?
How do we establish a long-lived connection to an NNTP server?
How do we handle the arbitrarily large amounts of data from an NNTP server that arrives asynchronously?
How do we coordinate user input with NNTP I/O?
How do we handle unexpected network errors?
Boost.Asio: https://www.boost.org/doc/libs/1_81_0...
Example source code: https://github.com/LegalizeAdulthood/...
Future topics: https://utahcpp.wordpress.com/future-...
Past topics: https://utahcpp.wordpress.com/past-me...