Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I would like to know if its possible to link two torrent clients to one file. I mean taking a piece of a file (both clients taking different pieces) and rearranging it into one file again.

One client must know what piece the other client downloaded so it doesn't download the same one twice. Will this make the file download faster? And can it be done?

share|improve this question
1  
This concept seems ill-conceived. If you're looking to seed from 2 connections, then the solution is to download on the entire content on one connection, copy to the other, and then seed from there too. –  killermist Jun 22 '12 at 3:59

5 Answers 5

Yes it could be done, but assuming that one client is saving the file locally and the other has to transfer what it has downloaded, no, this would not be any faster. Essentially you'd just be adding another seeder.

The reason for this is that there is a finite pool of seeders and leachers for any given torrent, so if there's 10 sources for a file and one of your clients is using 5 of them, your other client can't access those IP's.

share|improve this answer
    
Not adding another seeder, adding another peer. The key principle is more connections is not going to make a difference in torrenting like multiple HTTP connections might, because you already use multiple connections in a P2P transfer i.e. torrent. UNLESS connecting twice to the same fast peers helps, which is possible and would probably speed things up. But probably not enough to make it worth the hassle of running two separate clients on different ports. –  deed02392 Apr 14 '13 at 17:01

Really simple. On most torrent clients, you select the torrent file, and underneath the Peers tab (it's near Files, etc.) You right click to "Add Peer" and enter the local IP address and port for the other torrent client.

How do you find the local IP and port?

On Windows, open cmd, type ipconfig press Enter. You should see an IPv4 address probably starting with 192. For the port, you can – under most torrent client preferences – select Connections, and see the port there.

Obviously, each IP/port is to be added to the other torrent client's peer list.

share|improve this answer

I am not sure if I am understanding the question.

IF, One would have 2 identical apps like TRANSMISSION, operating on the same computer at the same time. Lets assume for this example that this computer is connected to a ultra Wide bandwidth, High speed DSL line and is using TRANSMISSION(x2) with both the apps using the same download folder or download location. . . AND lastly for this example, your downloading any given 2Gb movie file. This arrangement would have some speed gain. It might not be that significant, but you would lesson the load for each torrent client respectively.

I'll try to explain how this works.

Now, you would put the same(identical) or duplicate torrent files into each running TRANSMISSION app. NOW SHUT DOWN one of the 2 apps. As soon as the app you left running actually begins making some progress in building and piecing together your file, stop the 2nd app. (a movie file in this example). NOW, restart the 2nd TRANSMISSION application. It will 1st look into the download location or folder and check to see how much of it, if any is already there. (This is how TRANSMISSION WORKS, I can't speak to other bit torrent clients). After a few moments or a few minutes the 2nd TRANSMISSION APP will KNOW what it already has of the pieces needed to complete the file. -(a 2Gb movie file in this example)- By default, TRANSMISSION always checks what it has, in fact, it even does this as it goes, all the time, constantly. So if a piece it just found, was already placed in the download folder, it would "see" that it is there already and move on to find another. It would not put 2 identical pieces in. The one app wouldn't know the other app is putting pieces in too, it would just think that piece was already there. No conflict would occur. It doesn't put a file together in any specific order like from beginning of the movie to the end. It might find a piece that is near the end in the 1st 5 minutes of downloading. It will know where to put that piece and will add it without any problem. I do not see how there would be any duplication or corruption as long as the 2 Torrent client were identical apps and would thus deal with finding already existing pieces the same way it does at start up when it looks into a download folder.

If things were started this way at least in the way TRANSMISSION works, you would find a gain in speed. It would work like this. Lets say for example 2 guys are asked to load 40 items into a single box. The items are placed on a rotating table with one guy on each side. The box (final file or download in this example), is sitting in the exact middle of this rotating table and is easily reached by both guys. Each guy has a digital manifest consisting of a light beside each item and as each item enters the box, BOTH of their manifests have a light that goes out to designate that a particular item has already been added to the box. Note, it is irrelevant which guy put an item in the box, because when an item goes in the box both of the lists/manifests, let each man or each other,(each torrent apps), what has been added and thus what is left to add, and in real time and at the same time. Even if there were many duplicates of the items needed, having 2 people to do this task would obviously be faster then just one. ONLY if each man was unaware what the other had added, would you end up with duplicates or errors. HOWEVER,in my example, the manifest works just like the way the torrent client checks as it goes, so no error could happen, and you would lesson the load of each app and this would result in a speed gain.

share|improve this answer

It can't be done, and it wouldn't make it faster, assuming you are setting your limits correctly.

Both clients would theoretically be trying to connect to the same pool of seeders and leechers. Each client would randomly have a chance of getting better seeders and leechers, but assuming that there are enough of each, you will be maxing out your download bandwidth anyways.

The only potential advantage you might get from running 2 clients (if this were possible) is would have more connections per torrent, but this is generally configurable in each client anyways, and is usually set to a reasonable default. So I don't think it would really provide any benefit.

As you mentioned, one client would have to know which piece the other is downloading, otherwise there would be a massive duplication of work.

If you found two clients that didn't explode immediately when you tried this, you would likely have issues with both clients trying to write to the file at the same time, you would have many duplicate blocks downloaded and in the end your download would take far longer than it should have.

share|improve this answer

Most torrent "clients" (the term "peer" is more accurate - each host in the swarm connects to each other and there is no client-server relationship except with the tracker) will already contact multiple peers at the same time to try to get multiple pieces at once. This is usually configurable in your torrent application.

That is what makes it faster than just straight transferring it from someone else.

So you could set up two torrent peers on a single file, but you could also tell your torrent application to allow more simultaneous connects and it will have the same effect.

Of course, if multiple local applications try to write to a single file at the same time without coordination, you get corrupt data or one of the applications not working. I don't of any torrent application that lets two separate instances coordinate on downloading a single file on the same physical system. Of course, if you have two disparate systems or tell each application to save the file to different places, there is no conflict. But no benefit really, and you'll be consuming twice the amount of disk space to store two copies of the file.

If you have two systems on separate networks (say your house and a friend's house), though, and set both of them to download and seed a torrent (from their respective different "external" IPs), you are helping that torrent be more highly available to others. But not helping yourself.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.