> As a "quick hack" mimicking this manual help, gtk-gnutella could do > something like "if the anti-monopoly feature is enabled and if the > ratio of a certain vendor is already maxed out, then only try to > connect to peers that have a port number that is not used by one of > the > already connected peers of that vendor". This would do the trick for > the moment. > > But obviously the port-based approach is only a quick guess, not a > real > solution (let alone doing it manually). What if the next monopoly is > not BearShare, but LimeWire? They use randomized port numbers (which > is > a good thing), rendering this approach useless.
If I recall correctly, gnutella clients respond to a ping-like message with their vendor info and a list of alternate peers to try. (Sorry for the vagueness, I'm a bit frazzled.) Would it be useful to depreciate same-peer 'X-try' (?) suggestions? That is, if a Bearshare 5.2.2 client recommends twenty IP addresses, 'ping' them, finding for instance 12 Bearshare 5.2.2 clients, 4 Bearshare 4.0 clients, and 3 Limewire clients, and 1 GTKG client; and attempt to connect to them starting with the non-Bearshare clients and proceeding in a depth- first fashion? That way, ultimately the Bearshare connections would be used if nothing else worked, but any tendency (intentional or accidental) to create vendor/version based 'islands' would be neutralized. I realize that this may be an utterly useless suggestion with respect to the actual code involved and any modification that could actually be made - I haven't even looked, I admit it - but some sort of algorithmic solution to the Bearshare island problem seems to be in order. I've noticed it, increasingly, myself. Possibly the Gnutella network as a whole is curdling, connectivity-wise. I have no idea. - Matt ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ gtk-gnutella-devel mailing list gtk-gnutella-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk-gnutella-devel