| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Сети > Многопотоковое скачивание файлов с сервера |
| Автор: Alexk553 25.11.2009, 11:41 |
| Добрый день! Есть такая задача: имеется огромный (порядка миллиарда) список урлов, из которых 99.9% битые (нет такого урла на сервере). Нужно в несколько десятков соединений (для быстродействия) просканировать урлы на предмет - битый, или не битый, и, если не битый, то скачать этот урл на диск. Какие посоветуете использовать методы? тут задача оптимизации скорости проверки урлов на не очень широком канале. Ну и желательно, чтобы число полуоткрытых сессий TCP не превышало разумного предела, в, скажем, 100 соединений. использовать wininet, или же через сокеты? Чем лучше реализовать многопоточность? на С++ и MS VS 2008. |
| Автор: Alca 25.11.2009, 11:47 | ||||
По-моему так все равно. |
| Автор: InvalidProperty 25.11.2009, 11:48 |
| жесть какая. Для простоты можно использовать библиотеку curl. Ну а если делать по трушному, то на сокетах, конечно. Многопоточность лучше всего реализовывать потоками, конечно. Опять же для простоты, можно использовать библиотеку boost, ну а вообще можно и CreateThread, _beginthread и потоки posix использовать. |
| Автор: Alexk553 25.11.2009, 11:57 |
| Спсибро Да, хотелось бы по-трушному. Значит, сокетами. Насчёт многопоточности, как это в настоящее время(2009) лучше делать? (Везде пишут, что MFC устарел, и.т.п. (CWinThread)) |
| Автор: Alca 25.11.2009, 12:00 |
| MFC юзает WinAPI, т.е. CreateThread |
| Автор: InvalidProperty 25.11.2009, 12:05 |
| Alexk553, ага, хочешь совсем по трушному - winapi. Чтоб ты ни писал - в конечном итоге это будет winapi (для винды, ессесно). |
| Автор: Alexk553 25.11.2009, 12:14 |
| Ага, иными словами использовать CWinThread не есть устаревший вариант? насчёт POSIX поискал, пишут (http://forums.devx.com/showthread.php?t=168766), что под Windows реализация медленная, так что , по-видимому WINAPI оптимально. Что ж, начну работу над своим проектом (для себя пишу), если будут проблемы, буду тут отписываться, всем большое спасибо за напутствия, если будут ещё мысли, буду очень рад! |
| Автор: Alca 25.11.2009, 12:46 | ||
Тогда юзай не CreateThread, а _beginthreadex (врапер над CreateThread) |