Re:Building a BitTorrent client from scratch in C#
by aashu_dwivedi on Tuesday July 05, 2016 @07:15AM
(#12035610)
I wish there's a similar article in python.
[ Parent
| on HN ]
Re:Building a BitTorrent client from scratch in C#
by mac01021 on Tuesday July 05, 2016 @08:59AM
(#12036060)
It seems to me that the C# code listings here look basically just like the equivalent Python. I wouldn't let the name of the language stop you.
Re:Building a BitTorrent client from scratch in C#
by masklinn on Tuesday July 05, 2016 @08:13AM
(#12035840)
Skimming it, the article seems pretty detailed, it should be possible to follow it in other languages, or even to convert it to a polyglot guide.
Re:Building a BitTorrent client from scratch in C#
by emodendroket on Tuesday July 05, 2016 @08:48AM
(#12035993)
Isn't the original client a python program?
Re:Building a BitTorrent client from scratch in C#
by spaam on Tuesday July 05, 2016 @10:44AM
(#12036749)
yeah, you can still download it from http://web.archive.org/web/20110712221649/http://download.bi...
Re:Building a BitTorrent client from scratch in C#
by Razengan on Tuesday July 05, 2016 @07:46AM
(#12035728)
I would love one, and other similarly meaty projects, in Swift 3.
Re:Building a BitTorrent client from scratch in C#
by AsyncAwait on Tuesday July 05, 2016 @12:16PM
(#12037491)
I am actually working on a GUI BitTorrent client in Swift, just converted my code to Swift 3 this morning, (I'm in the EU), quite far to go still, but I hope to have an alpha release out in Q4.
Re:Building a BitTorrent client from scratch in C#
by romanvm on Tuesday July 05, 2016 @10:44AM
(#12036748)
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
Re:Building a BitTorrent client from scratch in C#
by takeda on Tuesday July 05, 2016 @03:30PM
(#12038898)
The bottleneck is usually network.
The original bittorrent client (before µTorrent) was actually written in Python BTW.
Re:Building a BitTorrent client from scratch in C#
by lossolo on Tuesday July 05, 2016 @04:28PM
(#12039319)
It's not accurate. Widely adopted client before uTorrent was Azureus and it was written in Java.
Re:Building a BitTorrent client from scratch in C#
by takeda on Wednesday July 06, 2016 @12:24AM
(#12041199)
The 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.
Re:Building a BitTorrent client from scratch in C#
by lossolo on Wednesday July 06, 2016 @08:43AM
(#12042660)
And 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...
Re:Building a BitTorrent client from scratch in C#
by self on Sunday July 10, 2016 @05:14PM
(#12067301)
Lots 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.