Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

p2p Opinion

Options
  • 17-02-2005 3:23pm
    #1
    Registered Users Posts: 746 ✭✭✭


    I'm doing a big project for college this year involving peer to peer networking and xml, and just wanted people's opinions on what might be the best language to (attempt) to implement it in.

    I was pretty set on using java of the use of networking and swing, but I'm being tempted over to c#. Anybody care to offer an opinion?


Comments

  • Registered Users Posts: 834 ✭✭✭fragile


    The differences between C#/.NET and Java are negligible, just use whichever one you feel most comfortable with. Are you going to be building on one of the many existing P2P prototcols or implementing your own one from scratch?


  • Registered Users Posts: 746 ✭✭✭whitetrash


    It would be a lot more convienient to not have to implement it, but all I've found for java is JXTA and it doesn't really suit the project. What others are there?


  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    If it's going to be a windows only program, then i'd do it in c#, if you want it to run on Linux as well, then I'd do it in Java (i'm not going to have a discussion about mono in this thread). c# is a pretty easy language to get to grips with and generally c# programs look better than Java programs (i'm talking pre 1.5 here). Have a look at LimeWire, it's written in Java and is horribly slow, and brings most pc's to a crawl. This should be enough to convince you.


  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    http://opennap.sourceforge.net/

    have a look at limewire and gnutella too.


  • Registered Users Posts: 834 ✭✭✭fragile


    sjones wrote:
    Have a look at LimeWire, it's written in Java and is horribly slow, and brings most pc's to a crawl. This should be enough to convince you.

    That's not the fault of Java its just downright bad coding, if the limewire programmers had used C# they would more than likely have ended up with the same crap performance simply because their programming skillset aren't good enough. Java and C# both use a virtual machine and their current performance is pretty much the same. If you have any doubts about Java performance have a look at Intellij IDEA or Azureus.

    Whitetrash it might be worth having a look at the Bittorrent protocol, it is written in Python which would not be too difficult to pick up.


  • Advertisement
  • Registered Users Posts: 2,497 ✭✭✭optiplexgx270


    azureus is another written in java works well with the rss feeds starts downloading new episodes of whatever you tell it when they becom avail on the net (nice feature i never open it just check the folder now and then with it runnning 24/7 in the background)


    http://azureus.sourceforge.net/


  • Registered Users Posts: 746 ✭✭✭whitetrash


    Thanks for all your suggestions.

    I'm not too concerned with having the program working in anything other than windows at the moment, but I don't think java programs are inheirently slow (I use Azureus and RSSOwl and they run great).

    As for bit-torrent, is that not designed for static files? My project should be able to exchange xml files that will change fairly often, spreading the newer versions around the network.


  • Registered Users Posts: 333 ✭✭s4dd


    well, it's possible a bit late for this...

    but i'm currently looking into a similar protocol project, and have found that Java's thread capabilities/mechanisms continue to bring much joy.


  • Registered Users Posts: 746 ✭✭✭whitetrash


    Never too late :)

    So would multithreading be required for a p2p protocol?


  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    It sure would. It would be handy if an white paper existed on writing a p2p protocol, but yeah, I think multi-threading will be needed.


  • Advertisement
  • Registered Users Posts: 333 ✭✭s4dd


    I using it for a number of things... hashing, crypt stuffs and obviously multiple socket connections when writing the server classes.. would be interesting to start a p2p discussion thread if enough people have an interest... some very intersting topics that are still being developed!

    regards


  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    That's something I would definately be interested in.

    Anyone else?


  • Registered Users Posts: 746 ✭✭✭whitetrash


    Yeah, for the hard-slog of my project at the very least.


  • Moderators, Recreation & Hobbies Moderators, Science, Health & Environment Moderators, Technology & Internet Moderators Posts: 91,687 Mod ✭✭✭✭Capt'n Midnight


    you could do worse than wander over to sourceforge.net and see what others have used. Have a look for source code with comments , they may have left notes on the problems they found or reasons why they did certain things.


Advertisement