hey .. i intend to make a bittorent client of my own .. preferably in python ( although im also open to java or C ) ..
i have worked in making a download manager but never with p2p connections...
i need advice for beginning...as in which modules would help me and some resrouces for studying up on it ... google didnt return apt results :(

Well i can thing of these modules

1.os
2.threading (there are many flavours in python) Need for
3.socket
4.time
5.Queue
And if you want GUI
6. I recommend wxpython

Thats my take.
btw i know you can do your project with that.
I can any way with what i have listed.

i have used all these modules before...point is...i dont know how to make it all work with a .torrent file .. i mean connecting to peers and all that .... i can open sockets....i just need a tutorial as to how to find those peers to make sockets ?

thanks...but in this method im really not doing much ...
my requiremnt is that ... lets say im downloading a from a torrent which has only one video file...now i want my user to have so much control over the download that he should be able to view the video while it is downloading...and also ... forward the video to the part which has not been downloaded ( hence the client should download the data of that position first somehow )
using transmission im really not doing a lot ...
i would prefer something using sockets instead...

The idea is still the same.You are only getting confuse with the implementation of it.

This is the show.

1. You need a build in mediaplayer in your client. That will do the playing stuff. he media player should be able to stream online. Also you will need a bit of work on the mime types so as to play different mimes.

2. Understand that half downloaded files are unknown to the system to parse the mime hence know if its indeed a mov,flv,divx,mp4,mp3,av, etc. Hence you will use the backdoor to play those file. That is use point 1.

I told you from start about sockets.... Are you with me my friend?
:)

You will want to start by reviewing the Bittorrent Protocol Specification, if you haven't done so already. You may want to see this as well, as it gives a somewhat easier to follow version of the protocol spec. The Wikipedia article about the protocol may also prove useful.

The first thing to know is how to encode and decode in the Bencode format; fortunately, this is particularly easy to do in Python, as the format was designed with the Python types in mind. I am guessing you're already passed that hurdle, but it is the first one to mention.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.