![]() |
|
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 ![]() |
| |||
![]() 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! |
| |||
![]() 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! |
| |||
![]() 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. |
| |||
![]() 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! |
![]() |
| |
![]() | ||||
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 |