CURL - это сетевая библиотека? - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь научиться сетевому программированию на C ++, портативным способом (не придерживаясь какой-либо конкретной ОС).Я задал мой предыдущий вопрос о хорошей портативной сетевой библиотеке и специалистах (пользователей SO), предложивших Boost :: Asio и POCO.

Недавно я наткнулся на cURL (я слышал об этом, но забыл, что что-то подобное).Я знаю, что это многопротокольная библиотека для передачи файлов, но разве это не то, что можно сделать с сетевыми библиотеками?

Мой вопрос: что такое использование cURL?Это другая сетевая библиотека?Если да, разве это не хорошо?Почему никто не предложил Curl?И если нет, то когда его использовать по сравнению с сетевыми библиотеками, такими как Boost :: Asio и POCO?

Ответы [ 2 ]

3 голосов
/ 26 марта 2012

cURL - это в основном для работы с URI / URL.URL-адреса в основном используются для работы в сети, но, по крайней мере, теоретически это более или менее случайно для cURL.Хотя, вероятно, это не так уж часто встречается, если вы написали программу, которая работала только с локальными файлами, но делала это с использованием file:// URL-адресов, cURL отлично подойдет для манипулирования этими локальными URL-адресами.

Boost ASIO имеет инфраструктуру для работы в сети, но не имеет ничего, чтобы напрямую работать с URL-адресами.Другие части Boost включают такие вещи, как обработка строк, которые, вероятно, были бы полезны при построении обработки URI / URL, но, насколько мне известно, это не относится к манипулированию URI / URL.

POCO - полноценная сетевая библиотека, которая также включает обработку URI, но не посвящена (где-либо близко) исключительно ей.

0 голосов
/ 26 марта 2012

cURL позволяет только отправлять запросы на URI.Это не поможет вам запустить сервер или выполнить низкоуровневое сетевое программирование.

...