Какие существуют сетевые библиотеки высокого уровня для C++?

Я совершенно новичок в сети в целом, и я совершенно терялся каждый раз, когда пытался начать работу в сети с различными библиотеками (Boost::Asio был едва документирован и ужасен для новичков, Winsock очень низкого уровня, Raknet был близок к невозможно настроить и имел только 1 серию руководств по всей библиотеке). Я ищу что-то высокого уровня, с чем легко учиться и легко манипулировать.

Я использую библиотеку для простых игр. Мне не обязательно нужно что-то чрезвычайно разнообразное и гибкое, просто то, что подходит для моих нужд. Кроссплатформенность желательна, но не обязательна.


person Jungle    schedule 10.07.2012    source источник
comment
Boost.Asio может быть не лучшим для начинающих, но он очень хорошо документирован.   -  person mfontanini    schedule 10.07.2012
comment
В SDL есть сетевая подбиблиотека, но я понятия не имею, хороша ли она.   -  person Tilo Wiklund    schedule 10.07.2012
comment
@TiloWiklund Я использую SFML (некоторое время назад я использовал SDL), в котором также есть сетевая библиотека, и, по-видимому, обе они довольно низкого уровня. Однако я не нашел многих, которые хороши для обучения. Спасибо.   -  person Jungle    schedule 10.07.2012


Ответы (2)


Помимо названных, я обнаружил, что enet довольно удобен в использовании и очень прост в освоении. Или — в зависимости от ваших потребностей — вы можете попробовать сетевую часть SFML или SDL (SDL_net), но это большие библиотеки, предлагающие больше, чем просто работу в сети. Все три довольно хороши в отношении условий лицензии, но если вас это беспокоит, я бы порекомендовал enet или SFML.

person Mario    schedule 10.07.2012
comment
Я думаю, что я также рассмотрю SFML для работы в сети. Я уже использую его для графики, так что это, наверное, лучше всего. Надеюсь, это так же легко освоить, как графическую библиотеку. Спасибо! - person Jungle; 10.07.2012
comment
Ах, в таком случае используйте SFML, если только вам не нужен UDP с малой задержкой и вы не хотите выполнять свою собственную проверку (поскольку, насколько я читал, UDP-материал SFML все еще немного медленный или иногда глючит). - person Mario; 10.07.2012
comment
Причина, по которой я изначально не смотрел на нее, заключалась в том, что я слышал, что она низкоуровневая и глючная. После просмотра и чтения об этом, это кажется действительно легким и простым. Я определенно собираюсь использовать его. Спасибо большое, искал несколько дней! - person Jungle; 10.07.2012
comment
Просто убедитесь, что вы используете SFML2 вместо SFML1.6. Пока есть только RC, но в него включено множество исправлений ошибок. - person Mario; 10.07.2012

Я предлагаю использовать модуль QtNetwork Qt. Возможно, вы найдете полезными и другие возможности Qt.

person Pavel Strakhov    schedule 10.07.2012
comment
Я слышал, что QT делает SFML и другие графические библиотеки очень медленными. Если выяснится, что у QT хорошая сеть, я рассмотрю это, но я не уверен, насколько это будет практично. Спасибо. - person Jungle; 10.07.2012
comment
Возможно, стоит отметить, что другие большие графические интерфейсы/фреймворки (на ум приходит WxWidgets, и я думаю, что GTK тоже) предлагают аналогичную функциональность. - person Tilo Wiklund; 10.07.2012