Boost.Asio is a complex library, making networking quite simple. Building it is easy. It's done quite a good job at avoiding use of macros; it's got a few macros to turn options on/off, but there's only quite a few you need to worry about. Boost.Asio allows for both synchronous and asynchronous programming. They are very different; you should choose one way or the other as early as possible,…