Я хорошо выглядел с wxWidgets на внешнем интерфейсе и boost :: asio на сетевом конце.
wxWidgets действительно имеет встроенные сетевые классы, но вы быстро попадаете на них, и есть одно или два больших ограничения. Если вы хотите остаться в мире wx, есть пакет под названием wxCurl , который является хорошим пакетом (я использовал его в первые дни), который оборачивает libCurl с некоторыми wxWidgets idomatic C ++.
В моем предыдущем проекте (проект по передаче данных по сети / файлу) мы в конечном итоге пошли с boost :: asio, который имел преимущество в том, что не был настолько сложен в API, что, казалось бы, проще было настроить этот libCRUL (хотя это могло бы стать лучше, это было несколько лет назад) и дает нам очень общее сетевое ядро (boost может компилироваться где угодно, даже приложения командной строки)