Я использую boost :: asio и Poco :: Net с protobuf, вам не нужна специальная среда или библиотека для использования сообщения protobuf, вам даже не нужно использовать Сообщение protobuf только в сети, оно создает двоичную версию этого сообщения, что означает, что вы можете передавать эти двоичные данные по сети, сохранять их в файле и т. д.
Я бы порекомендовал создать собственный протокол только для изучения программирования сокетов :-), используя любую библиотеку сокетов, которую вы хотите, winsock, boost :: asio, Poco :: Net и т. Д., Где boost :: asio - это проще с использованием методов async_. Я строю сетевой фреймворк за 5 часов (сервер / клиент) с возможностями многопоточности
Опять же, как говорили многие, Boost :: Asio - это путь, наличие дополнительной библиотеки только для чего-то действительно простого (с boost) - пустая трата.