Gnutella Forums  

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

General Gnutella / Gnutella Network Discussion For general discussion about Gnutella and the Gnutella network.
For discussion about a specific Gnutella client program, please post in one of the client forums above.


Welcome To Gnutella Forums

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, fun aspects such as the image caption contest and play in the arcade, and access many other special features after your registration and email confirmation. Registration is fast, simple and absolutely free so please, join our community today! (click here) (Note: we use Yandex mail server so make sure yandex is not on your email filter or blocklist.) Confirmation emails might be found in your Junk folder, especially for Yahoo or GMail.

If you have any problems with the Gnutella Forum registration process or your Gnutella Forum account login, please contact us (this is not for program use questions.) Your email address must be legitimate and verified before becoming a full member of the forums. Please be sure to disable any spam filters you may have for our website, so that email messages can reach you.
Note: Any other issue with registration, etc., send a Personal Message (PM) to one of the active Administrators: Lord of the Rings or Birdy.

Once registered but before posting, members MUST READ the FORUM RULES (click here) and members should include System details - help us to help you (click on blue link) in their posts if their problem relates to using the program. Whilst forum helpers are happy to help where they can, without these system details your post might be ignored. And wise to read How to create a New Thread

Thank you

If you are a Spammer click here.
This is not a business advertising forum, all member profiles with business advertising will be banned, all their posts removed. Spamming is illegal in many countries of the world. Guests and search engines cannot view member profiles.



           Deutsch?              Español?                  Français?                   Nederlands?
   Hilfe in Deutsch,   Ayuda en español,   Aide en français et LimeWire en françaisHulp in het Nederlands

Forum Rules

Support Forums

Before you post to one of the specific Client Help and Support Conferences in Gnutella Client Forums please look through other threads and Stickies that may answer your questions. Most problems are not new. The Search function is most useful. Also the red Stickies have answers to the most commonly asked questions. (over 90 percent).
If your problem is not resolved by a search of the forums, please take the next step and post in the appropriate forum. There are many members who will be glad to help.
If you are new to the world of file sharing please do not be shy! Everyone was ‘new’ when they first started.

When posting, please include details for:
Your Operating System ....... Your version of your Gnutella Client (* this is important for helping solve problems) ....... Your Internet connection (56K, Cable, DSL) ....... The exact error message, if one pops up
Any other relevant information that you think may help ....... Try to make your post descriptive, specific, and clear so members can quickly and efficiently help you. To aid helpers in solving download/upload problems, LimeWire and Frostwire users must specify whether they are downloading a torrent file or a file from the Gnutella network.
Members need to supply these details >>> System details - help us to help you (click on blue link)


Moderators

There are senior members on the forums who serve as Moderators. These volunteers keep the board organized and moving.
Moderators are authorized to: (in order of increasing severity)
Move posts to the correct forums. Many times, members post in the wrong forum. These off-topic posts may impede the normal operation of the forum.
Edit posts. Moderators will edit posts that are offensive or break any of the House Rules.
Delete posts. Posts that cannot be edited to comply with the House Rules will be deleted.
Restrict members. This is one of the last punishments before a member is banned. Restrictions may include placing all new posts in a moderation queue or temporarily banning the offender.
Ban members. The most severe punishment. Three or more moderators or administrators must agree to the ban for this action to occur. Banning is reserved for very severe offenses and members who, after many warnings, fail to comply with the House Rules. Banning is permanent. Bans cannot be removed by the moderators and probably won't be removed by the administration.


The Rules

1. Warez, copyright violation, or any other illegal activity may NOT be linked or expressed in any form. Topics discussing techniques for violating these laws and messages containing locations of web sites or other servers hosting illegal content will be silently removed. Multiple offenses will result in consequences. File names are not required to discuss your issues. If filenames are copyright then do not belong on these forums & will be edited out or post removed. Picture sample attachments in posts must not include copyright infringement.

2. Spamming and excessive advertising will not be tolerated. Commercial advertising is not allowed in any form, including using in signatures.

3. There will be no excessive use of profanity in any forum.

4. There will be no racial, ethnic, or gender based insults, or any other personal attacks.

5. Pictures may be attached to posts and signatures if they are not sexually explicit or offensive. Picture sample attachments in posts must not include copyright infringement.

6. Remember to post in the correct forum. Take your time to look at other threads and see where your post will go. If your post is placed in the wrong forum it will be moved by a moderator. There are specific Gnutella Client sections for LimeWire, Phex, FrostWire, BearShare, Gnucleus, Morpheus, and many more. Please choose the correct section for your problem.

7. If you see a post in the wrong forum or in violation of the House Rules, please contact a moderator via Private Message or the "Report this post to a moderator" link at the bottom of every post. Please do not respond directly to the member - a moderator will do what is required.

8. Any impersonation of a forum member in any mode of communication is strictly prohibited and will result in banning.

9. Multiple copies of the same post will not be tolerated. Post your question, comment, or complaint only once. There is no need to express yourself more than once. Duplicate posts will be deleted with little or no warning. Keep in mind a forum censor may temporarily automatically hold up your post, if you do not see your post, do not post again, it will be dealt with by a moderator within a reasonable time. Authors of multiple copies of same post may be dealt with by moderators within their discrete judgment at the time which may result in warning or infraction points, depending on severity as adjudged by the moderators online.

10. Posts should have descriptive topics. Vague titles such as "Help!", "Why?", and the like may not get enough attention to the contents.

11. Do not divulge anyone's personal information in the forum, not even your own. This includes e-mail addresses, IP addresses, age, house address, and any other distinguishing information. Don´t use eMail addresses in your nick. Reiterating, do not post your email address in posts. This is for your own protection.

12. Signatures may be used as long as they are not offensive or sexually explicit or used for commercial advertising. Commercial weblinks cannot be used under any circumstances and will result in an immediate ban.

13. Dual accounts are not allowed. Cannot explain this more simply. Attempts to set up dual accounts will most likely result in a banning of all forum accounts.

14. Video links may only be posted after you have a tally of two forum posts. Video link posting with less than a 2 post tally are considered as spam. Video link posting with less than a 2 post tally are considered as spam.

15. Failure to show that you have read the forum rules may result in forum rules breach infraction points or warnings awarded against you which may later total up to an automatic temporary or permanent ban. Supplying system details is a prerequisite in most cases, particularly with connection or installation issues.

Violation of any of these rules will bring consequences, determined on a case-by-case basis.


Thank You! Thanks for taking the time to read these forum guidelines. We hope your visit is helpful and mutually beneficial to the entire community.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old August 17th, 2001
Devotee
 
Join Date: May 21st, 2001
Posts: 22
Ahri is flying high
Question Descriptor Help

i am writing a gnutella program in Visual Basic 6 and incoming data looks like this:



?Aó"ž ÿÚ‰‚t‚ÿx*±8“Õ£‰ntai)

if i have a vb string with a descriptor header in it, how do i translate/read it?
Reply With Quote
  #2 (permalink)  
Old August 19th, 2001
Enthusiast
 
Join Date: July 12th, 2001
Posts: 36
HydroPhonic is flying high
Default Descriptors in a string

You will have to parse the string, discern the Payload length, handle the payload(optional), and pass the descriptor... are you asking how to parse an incoming descriptor?? Or are you befuddled by a descriptor that appears to be a gobbledygook search query? (BearShare sends unintelligible Query descriptors meant for other BearShare clients to check their versions; just decrement their TTL and pass them on...)

Parse the first 23 bytes (you do have the spec, I assume) to determine what kind of descriptor it is.
The descriptor in your example appears to be a Query Descriptor. Beyond that, I can read little from it (it's not in Hex, and I'm too damn lazy to parse it myself).

Which do you need?
The Gnutella Protocol specification
A routine to parse strings??

(As a genuine lazy-***, I use that wonderful feature of C, type casting, to simply reinterpret that string as a DescriptorHeader type )
Reply With Quote
  #3 (permalink)  
Old August 20th, 2001
Beckerist's Avatar
Madninistrator (Member):)
 
Join Date: August 16th, 2001
Location: Upstate NY
Posts: 66
Beckerist is flying high
Default LOL

And all this time I thought the garble was someone searching in Korean!
Reply With Quote
  #4 (permalink)  
Old August 22nd, 2001
Devotee
 
Join Date: May 21st, 2001
Posts: 22
Ahri is flying high
Default

I got v0.4 protocal specs.

I figured out the answer to my question this morning. What happens is VB automatically takes the binary info. and converts it to ASCII text. I wanted to know how to convert it back into its original form. I figured it out after lots of thinking and trial and error (took me a while though).

But, I'm still haveing problems. How is text supposed to be encode over the gnutella net? The only thing I get that seems to be ASCII encoded is "GNUTELLA CONNECT/0.4\n\n" and "GNUTELLA OK\n\n". Descriptor IDs appear as that googly junk. And how to i decied what to make the descriptor IDs, and what character set to I encode them with?(their supposed to be text)

Also, the lengths in bytes of the incomming data does not always equal 23 + the payload length. The extra data is almost always less than 23 bytes. What's going on?

Last edited by Ahri; August 22nd, 2001 at 04:43 PM.
Reply With Quote
  #5 (permalink)  
Old August 22nd, 2001
Enthusiast
 
Join Date: July 12th, 2001
Posts: 36
HydroPhonic is flying high
Default Handling the binary data...

Quote:
Originally posted by Ahri
I got v0.4 protocal specs.
Very helpful!
Quote:
I figured out the answer to my question this morning. What happens is VB automatically takes the binary info. and converts it to ASCII text. I wanted to know how to convert it back into its original form.
VB can store the relsults of Winsock.GetData in either a BSTR or an array of integers

A BSTR is a "Basic String", preceeded by it's length (four bytes) which occupies two bytes per character on Unicode supporting systems (VB supports Unicode for purposes of interacting with ActiveX controls), so even though you think there's only one byte per character in the string, that's not the way it's stored in RAM.

Manipulating the data might be easier if you GetData it into an array of integers and interpret it seperately. VB programmers are disadvantaged by the loss of a "typecast" operator, which would allow me to take my array Incoming() As Integer and "reinterpret" its contents as though it were a Type DescriptorHeader... You must parse the elements of the array by hand, but at least it'll be easier than parsing the BSTR (as Gnutella's doesn't use ASCII descriptors like OpenNap).

Also, there's nothing saying you can't retrieve you data into one variable (say a String) and SendData an array of integers! Use whatever's least painful for you

Quote:
Also, the lengths in bytes of the incomming data does not always equal 23 + the payload length. The extra data is almost always less than 23 bytes. What's going on?
It is possible for descriptors to span TCP packets; that is, you may have to GetData again to retrieve the rest of the descriptor...

What lengths are you getting for your payloads?
Pings should always be 0, Pongs always 14, and Pushes always 26... There are NO pads between descriptors in the Gnutella data stream, so you will have to keep careful track of where one descriptor ends and the next begins. If you lose your place, it's curtains; you will be disconnected.
Reply With Quote
  #6 (permalink)  
Old August 22nd, 2001
Enthusiast
 
Join Date: July 12th, 2001
Posts: 36
HydroPhonic is flying high
Default Speaking of the Winsock control...

Is your VB software up to date?? (Note that this is NOT causing your problems; it's just something that could cause you problems in the future as you succeed with your servent!)

FIX: Winsock Control Leaks Memory When Unloaded
Last reviewed: February 18, 1998
Article ID: Q171843
The information in this article applies to: Microsoft Visual Basic Professional and Enterprise Editions for Windows, version 5.0

SYMPTOMS
The Winsock control may cause the system to lose memory and system resources, eventually causing the system to stop responding due to running out of memory.

CAUSE
System resources are not properly replenished when a Winsock control is unloaded from memory. If your application often loads and unloads a Winsock control, you may eventually experience this problem.

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. This bug was fixed in Visual Studio 97 Service Pack 3.

Workaround
You can load a fixed number of Winsock controls, or a Winsock control array, on program load and only unload them on program shutdown to work around the memory leak problem. This approach is similar to implementing a Winsock server in SDK using a fixed-sized thread pool and is a more scalable solution than loading a new Winsock control to handle each new client connection. Under the one control per request model, if there are a large number of clients making connections to the server at the same time, the server will soon have too many threads to function at all.
Having a fixed "pool" of Winsock controls can ensure that the server functions properly under a relatively heavy load. A large number of simultaneous client connections will not be able to bring down a server machine. If there are unused controls left in the Winsock control pool when a client connection request comes in, you will assign one control from the pool to handle the client request. After the client request is served, the control is "returned" to the pool. If a client request comes in and all controls in the pool have been assigned out at the moment, you will have to choose to either have the client wait until there are available free controls in the pool, or accept the connection request right away, send a busy message, and then close the socket.
If you are planning a server that could experience really heavy loads, the Winsock control may not be the best tool to use. You should consider overlapped socket I/O with Windows NT I/O Completion Port in a C/C++ SDK program.



Thank you for buying Micro$oft! Don't ya love it!?
Reply With Quote
  #7 (permalink)  
Old August 23rd, 2001
Beckerist's Avatar
Madninistrator (Member):)
 
Join Date: August 16th, 2001
Location: Upstate NY
Posts: 66
Beckerist is flying high
Default :)

http://www.ihatemicrosoft.com/
Just don't go there with the Internet Explorer Browser, not cool
Reply With Quote
  #8 (permalink)  
Old August 23rd, 2001
Devotee
 
Join Date: May 21st, 2001
Posts: 22
Ahri is flying high
Default

I got service pack 3 so i guess i'm safe.

Pings and pongs got the right payload lengths, and queries seem to have reasoneable ones. The extra data is probaly parts of descriptors i'm missing. I don't have to worry about losing my spot cause 80% of the time each .getdata command starts at the beginning of a descriptor.

Thanks for the help hydro.

this one's cool too
http://www.pla-netx.com/linebackn/evil/index.html
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
Problem identifying Descriptor IDs Paradog General Gnutella Development Discussion 5 July 25th, 2002 04:04 PM
Payload descriptor codes Unregistered General Gnutella Development Discussion 3 May 27th, 2002 12:13 AM
Who give me a Descriptor ID? Cerebro General Gnutella Development Discussion 7 April 9th, 2002 05:38 AM


All times are GMT -7. The time now is 11:42 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.