|
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 |
| |||
Could well be a bug in BS. Routed pongs usually are cached pongs, so that could explain it. But I wasn't aware BS would cache pongs and also cache the TTL and Hops ( in my case, I don't ) |
| ||||
But even if they are cached pongs, standard operating procedure would be to insert my messageID into the cached pong then send it to me. Correct? I am no real fan of Vinnie or his BS, (no pun intended) but I would almost have to give him a little more credit than distributing a version of BS with a flaw like this in it. I assume that your app does not suffer this problem? Has anyone ever seen this before? |
| ||||
After a bit of research using a sniffer, i have found that ALL routed pongs (at least through Bearshare) have a messageID of: {00000000-0000-0000-0000-000000000000}. This does not seem to follow accepted procedure. It is my understanding (correct me if i'm wrong) that when receiving a pong with a messageID that matches a previously seen ping, it is forwarded through the connection the ping was received (if not pongcaching). If pongcaching Is being used, and the servant receives a ping, the servant dips into it's pongcache (if the cache is sufficently full) and INSERTS the message id of the RECEIVED ping (the receiving client never knows the difference, with exception of TTL & hops), and sends it back through the connection from which it came, this reducing traffic on the network. I do understand there are variants of this scheme, but I have not seen any that stated you should insert a messageID of all zero's. Is this normal practice? I mean, i guess theres nothing wrong with it. It make the identification of routed pongs a snap. but again, Is this normal practice? ie. do I need to incorporate this into my servant? It does not seem wise to hardcode something like this into pong handling routines. Last edited by Gnutellian; June 10th, 2002 at 03:42 PM. |
| |||
Yes, it has to match your ping's message ID, or for whatever ping you have forwarded (which didn't show in your log). So it is either a bug in BS (although older version) or there's something in your code. |
| ||||
Quote:
As you can see, when i sent a ping it had a messageID of X when I received a pong(ping reply) from the connected servant(hops = 0), the messageID matches X, BUT all other pongs received after (Hops > 0) have this 'zero'ed out' messageID. This log was created using BS 2.4.4 ( I can't go much higher in the BS version because it will kick me off when it gets enough BS clients. look at the log: *Ping Sent By Me* Sent Ping On Connection: 1 At: 6/10/2002 6:19:44 PM MessageID: {ÜØî„0þÿhÎ?ò } FuncID: 0 TTL: 7 Hops: 0 Payload Length: 0 *Pong From Connected Servant* **MessageID is Correct** Received Pong On Connection: 1 At: 6/10/2002 6:19:45 PM MessageID: {ÜØî„0þÿhÎ?ò } FuncID: 1 TTL: 7 Hops: 0 Payload Length: 14 IPAddress: 192.168.1.2 Port: 6346 Files Shared: 56 Files Size: 215MB *Routed Pong through Connected Servant* **MessageID is NOT Correct** Received Pong On Connection: 1 At: 6/10/2002 6:19:45 PM MessageID: { } FuncID: 1 TTL: 6 Hops: 1 Payload Length: 14 IPAddress: 211.44.xxx.xxx Port: 6346 Files Shared: 54 Files Size: 670MB *Routed Pong through Connected Servant* **MessageID is NOT Correct** Received Pong On Connection: 1 At: 6/10/2002 6:19:52 PM MessageID: { } FuncID: 1 TTL: 1 Hops: 6 Payload Length: 14 IPAddress: 200.255.xxx.xxx Port: 6346 Files Shared: 34 Files Size: 70MB Last edited by Gnutellian; June 10th, 2002 at 04:28 PM. |
| ||||
**UPDATE** Using Gnucleus, I monitored the good and bad packets being received. The image below tells the story. I personally would like to thank Vinnie for producing and distributing a such fine product as BearShare. Thank you for the hours of headbanging trying to debug my code that I thought must have been flawed. I will never again over-estamate you. P.S. The connected servant was BearShare 2.6.2 Last edited by Gnutellian; June 12th, 2002 at 04:57 AM. |
| |||
Click here This pretty much explains everything: http://www.limewire.com/index.jsp/pingpong |
| ||||
Re: YEs Quote:
As of 6/12/2002 7:07:11 AM they still where... in the sense that a servant still needs to see a pong as a response to one of it's previous pings. At least by BearShare 2.6.2... Last edited by Gnutellian; June 12th, 2002 at 08:38 AM. |
| |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Wierd Font HELP!!!! | zrogoszinski | General Windows Support | 4 | January 11th, 2007 09:21 PM |
wierd | smog | Connection Problems | 0 | December 5th, 2006 11:00 AM |
Somthin Wierd | VOoDOoM | Getting Started Using LimeWire + WireShare | 1 | June 25th, 2006 04:08 PM |
Wierd Bug | kkj1116 | Download/Upload Problems | 1 | June 12th, 2006 03:58 PM |
Very Wierd | tweets | Connection Problems | 1 | January 24th, 2005 12:40 PM |