Packets to big error
Daniel Cunha <[email protected]> Thu, 15 Oct 2009 12:14:12 -0300
| Newsgroups | gmane.network.gnutella.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
I'm studying a bit the gnutella protocol for academic purposes. Because
of this I'm trying to develop a simple servent that works only in leaf mode.
The handshake and the ping and pong messages are working good,
apparently. The problem arrives when query messages are send, I receive
from the other side a message complaining about my packet size.
I'm using Phex to test in a private network, from this servent I can see
that it closes the connection displaying the message: "Error. Packet too
big. Disconnecting the remote host".
LimeWire send me a packet with "Packet Size Greater than 32k".
I wasn't able to identify the problem during the build of query packet.
Well, the query is send like this one:
GUID: 16 bytes with random values
Payload Type: 0x80
TTL: 5
HOPS: 0
Payload Length: 9
Minimum Speed: 0x8000
Search Criteria: foobar (terminated by 0x00)
When packet:
"k\002\000\000\260\003\000\000\334\003\000\000*\000\000\000\200\005\000\t\000\000\000\200\000foobar\000"
(it's a ruby string)
The byte size is 32.
Any idea why my packets have errors?
Another question, there is any protocol extension that is vital to a
good communication?
Thanks for any help,
Daniel Cunha