View Single Post
  #3 (permalink)  
Old August 11th, 2003
ferret-2000 ferret-2000 is offline
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