2016-05-15 15 views
-1

Gibt es eine direkte Möglichkeit, einen Peer per IP-Adresse mit Hilfe von Libtorrent manuell hinzuzufügen? Zum Beispiel, wenn Sie bereits die IP-Adresse eines Peers haben, der die angeforderte Datei hat und sie der Peer-Liste hinzufügen möchte.Libtorrent hinzufügen Peer von IP

+1

Haben Sie einen Versuch unternommen? Können Sie uns Ihre Forschung zeigen? Mit was genau haben Sie Schwierigkeiten? –

+0

Obwohl ich mir ziemlich sicher bin, funktioniert das nicht so. Wenn jemand einen Torrent sät, dann sind sie bereits in der Peer-Liste. Sie können einen Peer, der noch kein Peer ist, nicht hinzufügen. Ich sehe nichts in [der Dokumentation] (http://www.libtorrent.org/reference.html), um darauf hinzuweisen, dass das, was Sie fragen, getan werden kann (oder sollte). Warum nicht einfach von den anderen Peers herunterladen? –

+0

@LightnessRacesinOrbit Ich habe die libtorrent-Dokumentation durchgesehen und konnte nichts finden. Im Idealfall möchte ich schnell feststellen, ob ein bestimmter Peer mit dem Netzwerk verbunden ist und eine Datei seedt. Wenn wir ihre IP-Adresse bereits kennen, können wir sie einfach direkt zur Peer-Liste hinzufügen (vorausgesetzt, sie säen die Datei und sind mit dem Netzwerk verbunden). – AnimatedRNG

Antwort

0

Haben noch nicht ausprobiert, aber ich bin mir ziemlich sicher, dass die connect_peer Funktion den Trick tun sollten:

void connect_peer (tcp::endpoint const& adr, int source = 0 
    , int flags = 0x1 + 0x4 + 0x8) const; 

connect_peer() ist eine Möglichkeit, manuell zu Peers zu verbinden, dass man glauben a Teil des Wildbachs. Wenn der Peer nicht antwortet oder kein Mitglied dieses Torrents ist, wird er einfach getrennt. Es kann kein Schaden dadurch verursacht werden, dass ein anderer als ein unnötiger Verbindungsversuch unternommen wird. Wenn der Torrent nicht initialisiert ist oder sich im Warteschlangen- oder Prüfmodus befindet, wird dies libtorrent_exception auslösen. Das zweite (optionale) Argument wird in die Quellmaske dieses Peers bitweise ODER-verknüpft. In der Regel ist dies eines der Quellflags in peer_info. d. h. Tracker, Pex, Dht usw.

Flags sind die gleichen Flags, die mit der Erweiterung ut_pex übergeben werden.

+0

Arvid Norberg stimmt [hier] zu (http://stackoverflow.com/a/26902087/751579). – davidbak