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 August 6th, 2003
Apprentice
 
Join Date: August 6th, 2003
Posts: 8
ferret-2000 is flying high
Question connection question!

I wrote a simple Gnutella Client accoding to Gnutella 0.4 protocol.Where i tried to use this client connecting bearshare client,after the socket connection established,my program send a standard protocol message:"GNUTELLA CONNECT 0.4\n\n",the socket was closed by bearshare immediately.When i simply changed the message into "GNUTELLA CONNECT 0.6\r\n",the bearshare client colsed the socket after a while(the bearshare version:4.2.7 Build 9).
So i guess bearshare only suport Gnutella 0.6 protocol.Now i do want to know,my client surely can not connect to the Gnutella network today?If i chang my program accoding standard Gnutella 0.6 protocol, will i surely be able to connect to the Gnutella network which organized by the other's client and sharing files with them?
Thank a lot!
Reply With Quote
  #2 (permalink)  
Old August 6th, 2003
Moderator
 
Join Date: May 16th, 2003
Posts: 1,118
trap_jaw4 is flying high
Default

You probably will be able to connect to the network as soon as you support the 0.6 handshake, - but as long as you don't support at least pings and pongs, your connections won't be very stable, I'm afraid.
Reply With Quote
  #3 (permalink)  
Old August 11th, 2003
Apprentice
 
Join Date: August 6th, 2003
Posts: 8
ferret-2000 is flying high
Default

now, i have something puzzled about Gnutella 0.6 HandShakes.In version 0.6,the progress is described as:
1. C sends the string GNUTELLA CONNECT/0.6\r\n where 0.6 is the protocol version and \r denotes the carriage return character (ASCII character 13)
2. C sends capability headers (not including vendor specific headers), each terminated by \r\n, with an extra \r\n at the end
3. S responds with the string GNUTELLA/0.6 200 string\r\n. The string should be OK, but clients are advised to only check the 200 code
4. S sends all its headers in the same format as in step 2
5. C responds with the string GNUTELLA/0.6 200 OK\r\n, as in step 3 if the client, after parsing all headers sent by S, still wants to connect. Otherwise a reply containing an error code is sent and the connection is closed
6. C sends any vendor specific headers to S in the same format as in step 2
7. Connection is established and C and S can exchange messages

But i do not know what the headers in step2,4 and 6 are.Are these the ping and pong?If they are ,why they are some but not one?

I will be appreciateed to receive your answer.If you can,please describe them in details. Thanks a lot!
Reply With Quote
  #4 (permalink)  
Old August 11th, 2003
Apprentice
 
Join Date: August 6th, 2003
Posts: 8
ferret-2000 is flying high
Default

Another question,How i can make my Client support the Ultrapeer to make it easy to connect the other servants?
Reply With Quote
  #5 (permalink)  
Old August 11th, 2003
Moderator
 
Join Date: May 16th, 2003
Posts: 1,118
trap_jaw4 is flying high
Default

Didn't you read the protocol specs? It's all at rfc-gnutella.sf.net.

The gnutella 0.6 handshake is very similar to the http handshake. Additional headers are defined by other gnutella proposals but many headers are not documented anywhere.

Pings and Pongs are gnutella messages defined in the gnutella 0.4 protocol.

For becoming an ultrapeer you have to support QRP.
Reply With Quote
  #6 (permalink)  
Old August 12th, 2003
Apprentice
 
Join Date: August 6th, 2003
Posts: 8
ferret-2000 is flying high
Default

thanks for your suggestion,i have read rfcGnutella,but i still have something puzzled,in rfcGnutella, it says that client accoding to Gnutella 0.4 protocol also can connect to Gnutella network.Is this true?Now ,can this realize?
thans a lot!
Attached Files
File Type: zip testgnutella.zip (20.7 KB, 82 views)
Reply With Quote
  #7 (permalink)  
Old August 12th, 2003
Apprentice
 
Join Date: August 6th, 2003
Posts: 8
ferret-2000 is flying high
Default

above is the exe i wrote,it is according to Gnutella 0.4 protocol.I do not know whether it work,because my network is using NAT.If you would like to test it,i will be very appreciated!
Thanks!
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
Another question about my connection Funeral_ForMyValentine.x LimeWire+WireShare Tips and Tricks 1 April 20th, 2007 03:57 AM
connection question JongTong Open Discussion topics 1 January 18th, 2006 06:50 PM
stupid connection question RastaLeesha Open Discussion topics 1 January 18th, 2006 12:50 PM
Yet Another Connection Question missm Connection Problems 2 September 18th, 2003 12:43 AM
Question when the connection goes off.. linuxcd General Linux Support 0 October 4th, 2002 04:21 AM


All times are GMT -7. The time now is 11:50 PM.


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

Copyright © 2020 Gnutella Forums.
All Rights Reserved.