Всем привет. Пытаюсь реализовать быстрый P2P загрузчик файлов на C++ для Windows.
Вначале пробовал на libtorrent (rastebar), но он плохо справляется с web-seed и выдаёт всего 1-2 мб\сек при скорости интернета в 10-11 мб\сек. При этом P2P там работает хорошо, со всеми пирами есть соединение. Но даже с учётом этого достигнуть максимальной скорости получается довольно редко и держится она не долго. К тому же не у 100% пользователей корректно работает торрент, поэтому web-seed очень важен.
Затем я перешёл на aria2. В нём полностью противоположная ситуация. В торрент загрузках web-seed работает прекрасно, выдаёт все 11 мб\сек, но к другим пирам отказывается подключаться (которые тоже через aria2). Наверное это из-за того, что отсутствует поддержка UPnP и NAT-PMP. Немного помогло включение IPv6, появилось соединение с 1 из 10 пиров. Но этого всё равно очень мало.
АртемЪ, раздача исключительно для пользователей моей программы. В торренте указано несколько чужих открытых трекеров, работает примерно половина. Есть так же web-seed - сайт, где лежат все файлы и он тоже раздаёт. Качают и раздают торрент на данный момент через libtorrent (пользователи старых версий) и aria2. Никакие другие торрент-клиенты в раздаче не участвуют. Так вот пиры aria2 друг к другу не подключаются. С libtorrent всё ОК. Те, кто на libtorrent могут даже подключаться к aria2.