![]() |
|
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 |
| |||
![]() 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?
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
![]() 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 ).
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
| |||
![]() 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?)
__________________ ![]() -> put this banner into your own signature! <- -- Erst im Spiel lebt der Mensch. Nur ludantaj homoj vivas. GnuFU.net - Gnutella For Users Draketo.de - Shortstories, Poems, Music and strange Ideas. |
![]() |
| |