![]() |
Why I didn't receive any answer to my query's Hi All, I implemented on my client, the handshake, ping, pong and query messages. But now I have a problem with the query message, what happend is: I connect to a peer whitout any problem (here are the options used): GNUTELLA CONNECT/0.6 X-Max-TTL: 3 X-Query-Routing: 0.1 User-Agent: GnutConsole/0.1 Listen-IP: xxxx.xxxx.xxxx.xxxx Pong-Caching: 0.1 X-Ultrapeer: False X-Locale-Pref: en Remote-IP: xxxx.xxxx.xxxx.xxxx send a ping message and receive a pong, and then I send a query message: ID: 2FA318ABA818354A1389265472F91600 Payload: 128 (query) TTL: 3 Hops: 0 Length: 13 --> Query Min Speed: 226 Search: game After that, I didn't receive any QueryHit to my request. If I do the same test but with an ultrapeer on my private Lan I receive a QueryHit. So as it's the same code, I didn't understand why I works with an ultrapeer on my private network and it didn't work with an ultrapeer on the internet gnutella network. I did some analyses with wireshark and in the two cases in send the same messages and I don't think it's a network problem (because I receive a Tcp ack from the ultrapeer). Someone as an idea about why I don't receive a queryHit ? Thanks in advance for your help Juan |
Did you receive a response (GNUTELLA OK...) and send your ACK to it (the handshake consists of 3 messages)? Which program do you use locally and which was the node accessed over the internet? |
Hi Arne, Yes I received a response and I send the ACK to it. This is correct as I can send ping and pong messages to the peer after that (it works fine with the ping and pong messages). I used to do my tests locally Phex and frostwire, the node accessed over the internet is a limewire peer (version 5.x.x.) Actually I don't implement the vendor code (0x31) and the query routing protocol (0x30), are theses two messages mandatory to have a good communication to the peers ? If I read the RFC, these two messages are recommended but not mandatory. Regards Juan |
Is the other client behind a NAT (private LAN)? If both are behind a NAT, they need PushProxies to download from each other, so Phex won't send results (as Gregor answered in thread from lovric: http://www.gnutellaforums.com/genera...tml#post347561 ). |
Hi Arne, I don't know if the other client is behind a NAT (I guess yes, as now days everybody is behind NAT with the internet's routers/modems), but as teh other client is ont the gnutella network on internet I should received "Query Hits" to my Query" messages. I think I don't need the PushProxies, because I don't want to dwonload a file, I'm just waiting a query hit message. Actually I'm looking on the different messages used during the handshaking, because I don't implement all the options (for example I don't use the vendor codes), and maybe this is why I didn't receive query hits message. Regards Juan |
If you don't use a vendor code, you're very likely to be rejected without furtehr notice. It's become a requirement. (Which specs do you use?) |
All times are GMT -7. The time now is 11:54 AM. |
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.