Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Gnutella Development Discussion (https://www.gnutellaforums.com/general-gnutella-development-discussion/)
-   -   VB Gnutella client (https://www.gnutellaforums.com/general-gnutella-development-discussion/12337-vb-gnutella-client.html)

Gamer June 12th, 2002 05:25 AM

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 =)

cultiv8r June 12th, 2002 09:29 AM

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.

tshdos June 12th, 2002 11:27 AM

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.

Gamer June 13th, 2002 12:57 AM

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!

cultiv8r June 13th, 2002 09:25 AM

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.

Gamer June 13th, 2002 09:43 AM

I found an active x control somebody else made that is great for this type of use =)

TorK June 16th, 2002 07:37 AM

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.

Gamer June 16th, 2002 08:40 AM

yea... I've found a somewhat working one under the gpl but its based off 0.4 specs..

Unregistered June 16th, 2002 11:19 PM

Quote:

Originally posted by Gamer
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.
Would only take a day or two, it's same/same mostly.
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.

Gamer June 18th, 2002 09:49 AM

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.


All times are GMT -7. The time now is 12:19 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.