I am using Bearshare and sometimes Kazaa-Lite. But I think that thebest P2P system is BitTorrent. There you are downloading *.torrentfiles, which contains informations about peers. You can download fromhundreds of peers at one time. So I am using BitComet, which is the sameas BitTorrent.
I voted PHP. I dont know, if it is the best, but I know of my own experience that it is quite easy to understand it.All the commands can be always called without referencing to objects.I tried to use ASP, but it is very exacting for a performance of a server.I am recommending PHP to you!