Есть ли простой способ вручную добавить peer по IP-адресу с помощью Libtorrent? Например, если у вас уже есть IP-адрес однорангового узла, у которого есть запрошенный файл, и вы хотите добавить его в список сверстников.Libtorrent добавить peer по IP
ответ
Еще не пробовал, но я уверен, что функция connect_peer должен сделать трюк:
void connect_peer (tcp::endpoint const& adr, int source = 0
, int flags = 0x1 + 0x4 + 0x8) const;
connect_peer() является способом вручную подключиться к сверстникам, что один полагают, является часть потока. Если партнер не отвечает или не является членом этого торрента, он просто отключается. Никакого вреда не может быть сделано, если не использовать ненужную попытку подключения. Если торрент не инициализирован или находится в очереди или режиме проверки, это вызовет libtorrent_exception. Второй (необязательный) аргумент будет битлизован ORed в исходную маску этого однорангового узла. Обычно это один из исходных флагов в peer_info. т. е. трекер, pex, dht и т. д.
Флаги- это те же флаги, которые передаются вместе с расширением ut_pex.
Арвид Норберг согласен [здесь] (http://stackoverflow.com/a/26902087/751579). – davidbak
Вы сделали заказ? Можете ли вы показать нам свои исследования? С чем, в частности, вы испытываете трудности? –
Хотя я уверен, что это не так, как это работает. Если кто-то посеял торрент, то они уже будут в списке сверстников. Вы не можете «добавить» сверстника, который еще не является равным. Я ничего не вижу в [документации] (http://www.libtorrent.org/reference.html), чтобы предположить, что то, что вы просите, может (или должно) быть сделано. Почему бы просто не скачать с других коллег? –
@LightnessRacesinOrbit Я просмотрел документацию libtorrent и не смог ничего найти. В идеале я бы хотел, чтобы быстрый способ проверить, подключен ли данный одноранговый узел к сети и посев файла. Если мы уже знаем их IP-адрес, мы можем просто добавить их в список сверстников напрямую (учитывая, что они посещают файл и подключены к сети). – AnimatedRNG