3 ms·
I guess a native Python implementation would be too slow. However, there is a fantastic libtorrent library that has Python bindings and allows to implement a to
by romanvm 10y ago
I guess a native Python implementation would be too slow. However, there is a fantastic libtorrent library that has Python bindings and allows to implement a torrent client in Python relatively easily.
BTW, regarding the original article, there is also a MonoTorrent library for .NET. Despite the name it can be compiled by Visual Studio. The original library was abandoned a while ago and seems to be buggy, but I was able to make a very simple .NET client with WinForms UI using this fork: https://github.com/ErtyHackward/monotorrent https://github.com/ErtyHackward/monotorrent
- takeda 10y agoThe bottleneck is usually network. The original bittorrent client (before µTorrent) was actually written in Python BTW.
- lossolo 10y agoIt's not accurate. Widely adopted client before uTorrent was Azureus and it was written in Java.
- takeda 10y agoThe very first torrent client written by Bram Cohen (the person who invented bittorrent) was written in Python[1]. I remember it, because 15 years ago that was the only client available. Later people started creating other clients by forking his python code, and eventually rewriting it in different languages. [1] https://en.wikipedia.org/wiki/BitTorrent_(software) https://en.wikipedia.org/wiki/BitTorrent_(software)
- lossolo 10y agoAnd no one used it, you know what was before C ? You probably don't because no one used it also after that. Azureus was developed 13 years ago and that was the client that was used... I know because i remember it also. And then they (from bittorrent inc) changed their python version to C++ and called it uTorrent because python was too slow and no one wanted to use it...
- self 10y agoLots of people used the Python client because not everyone wanted to run Java (memory hog) or were on Windows (uTorrent). Azureus had one advantage: first to support the DHT and trackerless operation.