|
Register | FAQ | The Twelve Commandments | Members List | Calendar | Arcade | Find the Best VPN | Today's Posts | Search |
General Gnutella Development Discussion For general discussion about Gnutella development. |
| LinkBack | Thread Tools | Display Modes |
| |||
VB Gnutella client I'm considering making my own gnutella client in VB in the near future, but do have some questions concerning it: Anybody know if there is a physical reason this cant or shouldnt be done, IE: Very high cpu or mem usage? Will the winsock control VB uses have any issues? Thanks =) |
| |||
Actually, have a look at http://www.gnutelladev.com. There's a section of published Gnutella code, and you can find some VB versions around there. Could either continue building on top of it, or use it as an example. I'm not a VB programmer though, but I know that VB is quite well capable for writing a Gnutella client. The now defunct GnOtella client was written in VB. |
| |||
Some minor problems with VB Apps: Lack of multi-threading: Causes problems if you get into a long process that doesn't give up processor time to update the UI (DoEvents). In an app such as this it would be more of a problem than usual. If you carefully create your functions it can be overcome easily. Dependency Files: Large runtime files that have to be distributed with your App. Can't really get around this unless you make to distributions of your app, one with the runtimes and one without. API Calls: Depending on the function some API calls can block not allowing your client to update the UI. This can be avoided by simple testing. Winsock Control: Simple to use and no REAL issues with this type of app. You could look for a better one. Gnotella used a different winsock control (library) but I can't remember the name but it might have been a custom control. There is no reason you can't make a client using VB. The limitations I mentioned above all have some type of workaround (except maybe the dependencies). The examples on gnutelladev (at least the last time I looked) are quite old but could be used as a generic example. You could write it in VB.NET but then your dependency files would become even larger (Look at Swapper), but all of the problems above disappear. If you know C++ that would be of much help because you could write a library or control to handle alot of the things VB is not so great with. Even though many people claim that VB sucks it is damn good at making programs. There are still people who claim Gnotella is the best client ever written, just visit the Gnotella forum. |
| |||
Thanks for the replies =) VB6 sp5 runtime is 1mb, that isn't so bad and will be what I use most likely. Unfortunately I know very little C++ and wont be able to make too many custom controls for myself, but the ones vb already has and possibly a few already established ones would do. As I side note, I liked Gnotella a lot back in its early beta days right when napster had its downfall [compared to limewire and bearshare] =) Hopefully I can get it to all work out! |
| |||
Based on tshdos' comments, you'd definitely want to look into event driven actions and asynchronous sockets. Didn't know VB had a poor support for multi-threading. But I guess that you can use the WinAPI to make your own thread wrapper, check MSDN library how to use the thread calls. |
| |||
One of the biggest problems, i think, is that VB is not very godo at binary stuff. Bitmasks, endianness, hashtables, etc. get very tricky. Even simple things like reading nul-terminated strings requires quite a lot of code. There have been Gnutella projects in VB, but as far as I know none of them have bee nupdated for a long time. The Gnutella protocol has been developed a lot since then. |
| |||
Quote:
Why did the public fool system make us all think it's so darn hard to learn something new? I am telling you it's not that hard, go get book programming C in 24 hrs or something like that. Then you can just take the gnucleus code and start on something that is already working instead of re-inventing the wheel. |
| |||
c++ and vb are entirely different, I'm guessing your the same person making ignorant and rude remarks all over this forum. I know some c++ but dont have the time to learn more about it, nor would I need to buy a book when I have 800mb of help files. |
| |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Gnutella client name... | errorlevel | General Gnutella / Gnutella Network Discussion | 3 | August 2nd, 2002 12:18 PM |
How many Gnutella client are there? | dimagor | General Gnutella / Gnutella Network Discussion | 8 | May 18th, 2002 05:01 AM |
Gnutella itself--not a client | Unregistered | General Gnutella / Gnutella Network Discussion | 3 | May 15th, 2002 08:21 AM |
DOS Gnutella Client!!! | CyberBug84 | General Gnutella / Gnutella Network Discussion | 10 | July 18th, 2001 08:33 AM |
The Best Gnutella Client | Unregistered | General Gnutella / Gnutella Network Discussion | 0 | July 9th, 2001 06:36 PM |