I hope this is understandable.
Assumption:
DHT and PEX is off.
I share a torrent with infohash ABC, that has parts P1-P20 and Torrent XYZ with Parts P30-P40
I am connected to two different trackers (one for each torrent) T1,T2.
T1 tells me, that there are 5 users (U1-U5) for ABC, that still need data.
T2 tells me, that there are 10 users (U10-U20) for XYZ, that still need data.
I understand that U4 can connect to me and request P2 from ABC.
Questions:
- Can a user from T1 (ABC) request a part from torrent XYZ, even if I do not recognize him to be a listed client of T2 if he knows the data to request?
- Can a user neither from T1 or T2 request a part from me if he knows what to ask for?
- Can I connect voluntarily to a peer from T1 and offer him parts without him asking if he needs it?
I assume yes, because I can add peers manually in most torrent clients.
questions regarding incoming connections
Re: questions regarding incoming connections
Peers can only request pieces if they have the exact same torrent hash ID loaded and therefore actually 'know' about.
Re: questions regarding incoming connections
So in theory it would work. If I know a hash from your torrent list (how I got it is not part of the question, let's just assume I have it for some reason) I can ask your client for parts and he will deliver? or will your client deny the request, even if it is completely valid, because he has not seen my peer in the swarm yet.
Re: questions regarding incoming connections
If you know the hash ID and your client supports loading a task from the hash ID (DHT/PeX) you can download from any peer that is on-line and connectable.
You need to learn a bit more about how the BitTorrent protocol actually works at the network level ( http://lifehacker.com/285489/a-beginner ... bittorrent) .
When you load a torrent into a client using any method; metadata file, magnet link, from DHT or PeX by loading the hash ID, as soon as your client 'announces' itself via DHT, PeX or a tracker or a it HAS joined the 'swarm'.
Adding peers manually is only of use when you know the IP & port of a peer that has the torrent you want already loaded, but is not communicating or can not communicate with trackers or DHT for whatever reason, such as being on a local subnet that is not bridged to the outside world or the torrent is 'private' and you do not have a 'passcode' to the 'private' tracker network.
because he has not seen my peer in the swarm yet.
You need to learn a bit more about how the BitTorrent protocol actually works at the network level ( http://lifehacker.com/285489/a-beginner ... bittorrent) .
When you load a torrent into a client using any method; metadata file, magnet link, from DHT or PeX by loading the hash ID, as soon as your client 'announces' itself via DHT, PeX or a tracker or a it HAS joined the 'swarm'.
Adding peers manually is only of use when you know the IP & port of a peer that has the torrent you want already loaded, but is not communicating or can not communicate with trackers or DHT for whatever reason, such as being on a local subnet that is not bridged to the outside world or the torrent is 'private' and you do not have a 'passcode' to the 'private' tracker network.