Gnutella Forums  

Go Back   Gnutella Forums > Gnutella News and Gnutelliums Forums > General Gnutella Development Discussion
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

General Gnutella Development Discussion For general discussion about Gnutella development.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old June 12th, 2002
Mini-God
 
Join Date: June 3rd, 2002
Location: Hell.. Literally
Posts: 241
Gamer is flying high
Default 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 =)
Reply With Quote
  #2 (permalink)  
Old June 12th, 2002
Connoisseur
 
Join Date: August 9th, 2001
Location: Philadelphia, PA, USA
Posts: 358
cultiv8r is flying high
Default

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.
Reply With Quote
  #3 (permalink)  
Old June 12th, 2002
Gnutella Veteran
 
Join Date: March 24th, 2002
Location: Virginia
Posts: 101
tshdos is flying high
Default

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.
Reply With Quote
  #4 (permalink)  
Old June 13th, 2002
Mini-God
 
Join Date: June 3rd, 2002
Location: Hell.. Literally
Posts: 241
Gamer is flying high
Default

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!
Reply With Quote
  #5 (permalink)  
Old June 13th, 2002
Connoisseur
 
Join Date: August 9th, 2001
Location: Philadelphia, PA, USA
Posts: 358
cultiv8r is flying high
Default

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.
Reply With Quote
  #6 (permalink)  
Old June 13th, 2002
Mini-God
 
Join Date: June 3rd, 2002
Location: Hell.. Literally
Posts: 241
Gamer is flying high
Default

I found an active x control somebody else made that is great for this type of use =)
Reply With Quote
  #7 (permalink)  
Old June 16th, 2002
Disciple
 
Join Date: December 14th, 2001
Posts: 13
TorK is flying high
Default

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.
Reply With Quote
  #8 (permalink)  
Old June 16th, 2002
Mini-God
 
Join Date: June 3rd, 2002
Location: Hell.. Literally
Posts: 241
Gamer is flying high
Default

yea... I've found a somewhat working one under the gpl but its based off 0.4 specs..
Reply With Quote
  #9 (permalink)  
Old June 17th, 2002
Unregistered
Guest
 
Posts: n/a
Default

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.
Reply With Quote
  #10 (permalink)  
Old June 18th, 2002
Mini-God
 
Join Date: June 3rd, 2002
Location: Hell.. Literally
Posts: 241
Gamer is flying high
Default

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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


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


All times are GMT -7. The time now is 10:40 PM.


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.