Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Gnutella Development Discussion (https://www.gnutellaforums.com/general-gnutella-development-discussion/)
-   -   connection problem (https://www.gnutellaforums.com/general-gnutella-development-discussion/9703-connection-problem.html)

zzzzzz March 27th, 2002 12:10 PM

connection problem
 
Hello,
I have written a gnutella client and it works. The problem is I can only get few connection. WHen I got an outcoming connection, it can only keep alive for a little while then disconnect. When I got an incoming connection, it can keep alive for a longer time, but I can only get 1 or 2 incoming connections.
When I run bearshare and my client in the same machine using different port, bearshare can get enough incoming connection while my client cannot. I have no clue about it.
Is anyone know how to get more connection and made them stable?
I appreciate for your help.:confused:

Joetella March 27th, 2002 01:12 PM

what is a "little while". Most clients (bearshare/limewire) send out "alive" pings .. and if you dont response with a pong within 10 sec.. your history ...

zzzzzz March 27th, 2002 05:21 PM

connection problem
 
Quote:

Originally posted by Joetella
what is a "little while". Most clients (bearshare/limewire) send out "alive" pings .. and if you dont response with a pong within 10 sec.. your history ...
Thank you for your reply. I can only connect with a servent for about less than 1 minutes. When I receive a message, I put it into a queue. I use another thread keep retriving message from the queue, route the message, and send reply.

sickfish July 4th, 2002 05:50 PM

connection problems
 
i'm having a similar problem. my client responds to keep-alive pings too. it looks like the problem is related to the other hosts (duh, of course it can't be me :D ) ... seriously. BearShare 2.5/2.6 and LimeWire 2.4.4 seem to represent the majority of clients that my client is finding, and most of them drop my connection almost immediately. usually i'm able to sneak a ping through and sometimes i get some pongs back, enough to keep 25 (i'll explain) connections searching for other hosts. i'm using 25 because with six it was taking forever to find even one host that wouldn't drop my connection. there are a few user agents that don't drop me all the time (mostly Gnucleus 1.6.0.0/1.6.3.0 and MorpheusPE 1.3.3.2). to be fair, the LimeWire clients often send 503 error codes and X-Try headers, so maybe they're just all backed up (or "shielded leaf nodes") :P the only thing i can think of is that my handshake is bad (
i'm sending
Code:

GNUTELLA/0.6 200 OK<cr><lf><cr><lf>
) ... any suggestions would be very helpful. thanks!!

Vinnie July 4th, 2002 08:34 PM

Easy
 
Sickfish, you should run LimeWire on the same machine that you are using to develop your client, and just connect the two to each other and see why it drops you.

Or, you could use Gnucleus for testing.

Either way, you've got source code for both LimeWire and Gnucleus, so you can set a breakpoint and look up their stack to find out why you are getting dropped.

sickfish July 5th, 2002 07:11 AM

duh
 
yeah i should have thought of that. :P

sickfish July 5th, 2002 09:08 AM

ok, but still
 
i can connect to my LimeWire client, but it seems to Really want to be an ultrapeer and always gives me a 503/shielded leaf node message. but it redirects me to other clients, many of which are LimeWire, and i have successfully connected to a few of those. is possible that my connection problems are due to a dearth of other servants with available connections? (this is my question)

but both my LimeWire and BearShare clients seem to have no trouble connecting at all. i still haven't been able to connect to my own BearShare client. it sends me a 200 OK, that bad packet and then drops me every time. like, immediately. what's up with that?

Syfonic July 21st, 2002 10:28 AM

It is possible but not likely if that helps you at all :)

Paradog July 21st, 2002 11:03 AM

Re: ok, but still
 
Shareaza and Gnucleus are both great for debugging your client.
The System window of Shareaza shows you all task it is performing (Send Handshake, etc).
In Gnucleus you can go to the Connections tab after you have connected your client with it. Then you can right click on your connected client and see some stats like the effiency and errors your client caused.

I used to do that way.

Syfonic July 21st, 2002 11:05 AM

I ahve nevr done it thta way but it sounds like a good idea :)


All times are GMT -7. The time now is 03:40 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.