![]() |
Uh? -or- Nerdy questions. Hello all! I'm working on a Gnutella client for my platform, and I'm about halfway to getting a basic system running, but I'm running intro trouble finding a server to test it on... Here's what happens. (I'm working to the Gnutella Protocol Specification v0.4 rev 1.0 from clip2.com... Is this authoritative?) Create a socket an open a connection to the server. Send 'GNUTELLA CONNECT/0.4[0a][0a]' Wait for 'GNUTELLA OK[0a][0a]' Send a PING. This consists of : 0-15 15 bytes of random gubbish acting as a GUID. 16 0 17 1 (I don't want this to propagate yet) 18 0 19-22 0 At this point (or before), it all goes pear-shaped. One of the following could happen : a) Connection times out/refused by server. Fine, it's offline or saturated. b) Connection reset by peer. Uh? c) Server responds GNUTELLA OK... waits... and then... closes the connection. Why reply OK when the server can't deal with another connection? d) Handshake goes OK, I send my PING, and the server starts sending me QUERYs and PINGs (and the occasional PUSH, too). Fine, but where's my PING RESPONSE? e) As above, but the server stops talking to me after about 8k-16k. I don't think this is a buffer problem on my end, but I'll keep looking. I've also found some odd packets when I do get a server talking to me. It looks like a QUERY, about 100+header bytes long, but contains /no/ printable characters. Is this Unicode/non latin alphabet? So, some questions for y'all. a) How can I guarantee that my header GUID hasn't been seen (ie, sent by another client) by the server I'm talking to? Should I get a PING RESPONSE whether or not the GUIDs unique? b) Why should I get problem c)? c) What /are/ those odd packets? Are they ill-formed? Should I drop the connection? FWIW, the packets immediately before and after are fine. d) Can anyone point me towards a protocol-compliant server that I can poke at while I'm testing my code? Preferably one that's going to be up for a week or so. Well, I'm all talked out. Thanks for listening. c17 |
Some of the developers that post in the Gnutella Developer Forum ( http://groups.yahoo.com/group/the_gdf/ ) may be able to help you. |
All times are GMT -7. The time now is 07:53 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.