[Mono-devel-list] Idea: Bittorrent and Mono.

Andrew Craven ac_monodev at morphidian.com
Thu Jul 22 11:32:12 EDT 2004

Marcos Carneiro da Rocha wrote:

> Hi everybody,
> i'm watching this thread about bittorrent and mono and i have some
> questions:
> - why implement bittorrent ni mini webserver ??? performance ??? 
> with asp.net it would be more flexible, because anyone could customize
> easily

Absolutely, the tracker is well suited to being implemented in ASP.NET. 
But the reason that BitTorrent provides its own mini-server is to avoid 
having to 'install' (which admittedly isn't hard) the files on a 
webserver - you just run it, and it works. A proper .NET implementation 
of BT should (IMO) not rely on ASP.NET solely for providing the tracker, 
as it forces people to be running a webserver. Classical BT does not 
make you do that.

Maybe I'm getting confused about the difference between a client for BT 
and a class library to provide BT functionality, but in order to serve a 
file with BT you need a tracker - and a Mono implementation should 
provide this.

> - will it be implemented as a .dll so anyone at any plataform (mono or
> ms .net) could use that ???

Ideally, yes. But remember what you asked above - a DLL on its own would 
not have the ability to become a tracker - you'd need an ASPX and the 
other ASP.NET stuff to do this. I personally thing it would be at least 
three assemblies, one to do the main core BT stuff, one standalone 
tracker, and an ASP.NET tracker.

> - to implement it we will have to implement many network components, so
> why don't we implement separate network components that extends .net
> framework ???

I don't see why - it's simple socket stuff. If we did a mini webserver 
for trackers that would be a bit more work, but I don't see what this 
has to do with SMTP, SSH, or whatever.

> with this we can implement extensions easily like: snmp, ssh, ftp,
> telnet, etc. or implement some applications that use these extensions
> like: emule client, email clients (pop, imap, smtp, etc), nntp client,
> nfs client, smb client, ntp client or any kind of application server
> that uses network.

Not really. Although these are all networked protocols, that's the only 
thing they have in common. What exactly would you propose to implement 
in order to make these 'easy'? We already have sockets.



More information about the Mono-devel-list mailing list