![]() |
|
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 |
| |||
![]() Hello, I am trying to write my GNUTella client using Java. I wrote the code to find the first node on the network, then sent to it the "CONNECT GNUTELLA/0.6" message. The servent correctly says "200 OK", and then.. how can I perform a search query? At this point I got: * the IP and port of the servent I am connected to * its input and output streams. The RFC says Quote:
Quote:
Finally I printed the bytes array to the output stream connected with the servent, but: * if I read the servent reply on the input stream I got unuseful information about the servent.. nothing like the query hits * if I create a ServerSocket bound to port 6346, this socket hungs on listening an never recieves anything So.. what shall I do to get the query hits? Thanks in advance |
| |||
![]() I am also working with the protocol and trying to write my own client, but mine will be in Perl. I ran into a problem that sounded similar to yours. I would send: GNUTELLA CONNECT/0.6\r\n \r\n They would send: GNUTELLA/0.6 200 (...) And from what I was reading on all the documentation I could find about the protcol, it said that you should now be connected and able to send/receive ping/pong/query/queryhits. But when I attempted to do any of this and read from the socket for my response, I would find (like you said) useful (text) information about my server. I would then eventually be disconnected from the server in less than a minute. What I found out from (after hours of searching) an alternative document, that the handshake actually goes like: client: GNUTELLA CONNECT/0.6\r\n \r\n server: GNUTELLA/0.6 200 (...)\r\n (optional server specifics)\r\n \r\n client: GNUTELLA/0.6 200\r\n \r\n And now, at this point you are offically connected, and we remain so indefinatly. And from what the documents say, you should now be able to send and receive ping/pong/query/queryhits. I am not actually trying to work with sending a query at the moment, instead I am trying to understand how to send a ping. This is where I become lost again. The protocol documentation that I have found is ver unclear about the specifics for sending communications at this point. I hope the information I have shared will atleast help you get properly connected to the network. But as for the problem of sending a query, (or ping in my case) I do not know what to tell you. Best of luck, Jason |
![]() |
| |
![]() | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
query | steve_m_t | General Gnutella / Gnutella Network Discussion | 1 | September 6th, 2004 04:04 PM |
LW 3.7.10 sends wrong port in Query Hits | mickish | LimeWire Beta Archives | 3 | January 29th, 2004 02:10 PM |
Clients returning paths in query hits cause crashes ? | YoN!E | Download/Upload Problems | 4 | August 6th, 2003 02:37 AM |
Use pathnames when determining query hits | ShaunC | ToadNode (Windows) | 1 | October 2nd, 2002 02:42 PM |
Statistics - query hits | vince | New Feature Requests | 6 | September 28th, 2002 09:45 PM |