Я бы порекомендовал начать с Asio с реализации и изменения примеров.
Boost.Asio - это современное состояние и один из самых простых способов начать асинхронное / управляемое событиями сетевое программирование с C ++.
Так что дайте Boost.Asio 2-й шанс, поскольку это один из лучших инструментов в мире.