Gnutella Forums  

Go Back   Gnutella Forums > Gnutella News and Gnutelliums Forums > General Gnutella Development Discussion
Register FAQ The Twelve Commandments Members List Calendar Arcade Find the Best VPN Today's Posts

General Gnutella Development Discussion For general discussion about Gnutella development.


Welcome To Gnutella Forums

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content, fun aspects such as the image caption contest and play in the arcade, and access many other special features after your registration and email confirmation. Registration is fast, simple and absolutely free so please, join our community today! (click here) (Note: we use Yandex mail server so make sure yandex is not on your email filter or blocklist.)

If you have any problems with the Gnutella Forum registration process or your Gnutella Forum account login, please contact us (this is not for program use questions.) Your email address must be legitimate and verified before becoming a full member of the forums. Please be sure to disable any spam filters you may have for our website, so that email messages can reach you.
Note: Any other issue with registration, etc., send a Personal Message (PM) to one of the active Administrators: Lord of the Rings or Birdy.

Once registered but before posting, members MUST READ the FORUM RULES (click here) and members should include System details - help us to help you (click on blue link) in their posts if their problem relates to using the program. Whilst forum helpers are happy to help where they can, without these system details your post might be ignored. And wise to read How to create a New Thread

Thank you

If you are a Spammer click here.
This is not a business advertising forum, all member profiles with business advertising will be banned, all their posts removed. Spamming is illegal in many countries of the world. Guests and search engines cannot view member profiles.



           Deutsch?              Español?                  Français?                   Nederlands?
   Hilfe in Deutsch,   Ayuda en español,   Aide en français et LimeWire en françaisHulp in het Nederlands

Forum Rules

Support Forums

Before you post to one of the specific Client Help and Support Conferences in Gnutella Client Forums please look through other threads and Stickies that may answer your questions. Most problems are not new. The Search function is most useful. Also the red Stickies have answers to the most commonly asked questions. (over 90 percent).
If your problem is not resolved by a search of the forums, please take the next step and post in the appropriate forum. There are many members who will be glad to help.
If you are new to the world of file sharing please do not be shy! Everyone was ‘new’ when they first started.

When posting, please include details for:
Your Operating System ....... Your version of your Gnutella Client (* this is important for helping solve problems) ....... Your Internet connection (56K, Cable, DSL) ....... The exact error message, if one pops up
Any other relevant information that you think may help ....... Try to make your post descriptive, specific, and clear so members can quickly and efficiently help you. To aid helpers in solving download/upload problems, LimeWire and Frostwire users must specify whether they are downloading a torrent file or a file from the Gnutella network.
Members need to supply these details >>> System details - help us to help you (click on blue link)


Moderators

There are senior members on the forums who serve as Moderators. These volunteers keep the board organized and moving.
Moderators are authorized to: (in order of increasing severity)
Move posts to the correct forums. Many times, members post in the wrong forum. These off-topic posts may impede the normal operation of the forum.
Edit posts. Moderators will edit posts that are offensive or break any of the House Rules.
Delete posts. Posts that cannot be edited to comply with the House Rules will be deleted.
Restrict members. This is one of the last punishments before a member is banned. Restrictions may include placing all new posts in a moderation queue or temporarily banning the offender.
Ban members. The most severe punishment. Three or more moderators or administrators must agree to the ban for this action to occur. Banning is reserved for very severe offenses and members who, after many warnings, fail to comply with the House Rules. Banning is permanent. Bans cannot be removed by the moderators and probably won't be removed by the administration.


The Rules

1. Warez, copyright violation, or any other illegal activity may NOT be linked or expressed in any form. Topics discussing techniques for violating these laws and messages containing locations of web sites or other servers hosting illegal content will be silently removed. Multiple offenses will result in consequences. File names are not required to discuss your issues. If filenames are copyright then do not belong on these forums & will be edited out or post removed. Picture sample attachments in posts must not include copyright infringement.

2. Spamming and excessive advertising will not be tolerated. Commercial advertising is not allowed in any form, including using in signatures.

3. There will be no excessive use of profanity in any forum.

4. There will be no racial, ethnic, or gender based insults, or any other personal attacks.

5. Pictures may be attached to posts and signatures if they are not sexually explicit or offensive. Picture sample attachments in posts must not include copyright infringement.

6. Remember to post in the correct forum. Take your time to look at other threads and see where your post will go. If your post is placed in the wrong forum it will be moved by a moderator. There are specific Gnutella Client sections for LimeWire, Phex, FrostWire, BearShare, Gnucleus, Morpheus, and many more. Please choose the correct section for your problem.

7. If you see a post in the wrong forum or in violation of the House Rules, please contact a moderator via Private Message or the "Report this post to a moderator" link at the bottom of every post. Please do not respond directly to the member - a moderator will do what is required.

8. Any impersonation of a forum member in any mode of communication is strictly prohibited and will result in banning.

9. Multiple copies of the same post will not be tolerated. Post your question, comment, or complaint only once. There is no need to express yourself more than once. Duplicate posts will be deleted with little or no warning. Keep in mind a forum censor may temporarily automatically hold up your post, if you do not see your post, do not post again, it will be dealt with by a moderator within a reasonable time. Authors of multiple copies of same post may be dealt with by moderators within their discrete judgment at the time which may result in warning or infraction points, depending on severity as adjudged by the moderators online.

10. Posts should have descriptive topics. Vague titles such as "Help!", "Why?", and the like may not get enough attention to the contents.

11. Do not divulge anyone's personal information in the forum, not even your own. This includes e-mail addresses, IP addresses, age, house address, and any other distinguishing information. Don´t use eMail addresses in your nick. Reiterating, do not post your email address in posts. This is for your own protection.

12. Signatures may be used as long as they are not offensive or sexually explicit or used for commercial advertising. Commercial weblinks cannot be used under any circumstances and will result in an immediate ban.

13. Dual accounts are not allowed. Cannot explain this more simply. Attempts to set up dual accounts will most likely result in a banning of all forum accounts.

14. Video links may only be posted after you have a tally of two forum posts. Video link posting with less than a 2 post tally are considered as spam. Video link posting with less than a 2 post tally are considered as spam.

15. Failure to show that you have read the forum rules may result in forum rules breach infraction points or warnings awarded against you which may later total up to an automatic temporary or permanent ban. Supplying system details is a prerequisite in most cases, particularly with connection or installation issues.

Violation of any of these rules will bring consequences, determined on a case-by-case basis.


Thank You! Thanks for taking the time to read these forum guidelines. We hope your visit is helpful and mutually beneficial to the entire community.


Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old April 16th, 2002
Unregistered
Guest
 
Posts: n/a
Default cannot respond to clients from my server thread .

hey this is abhiexx...( i am registered....but i don't have my password right now!!:-().So don't flame me..

hey i was working on the server thread...for my gnutella client...i 've got bearshare running too...so when i establish an outgoing connection from bearshare to my server....after the GNUTELLA OK...part...i get a ping from bearshare..and some extra bytes...total length is 134.


the problem is that when i try to respond to the client socket(which is returned from the accept() call) ....i am able to send the pong....but Bearshare does not show that it has recieved any bytes from me.(i have tried the same thing from a client thread....and this time the packets...show up ....so there is no problem with the writing of packets from my side )...

after a while....the outgoing connection from bearshare is dropped saying...this host is not responding.HELL i am responding !!!!!!!


so what do i do .. i have tried everything...wouldn't work any suggestion would be cool ...
Reply With Quote
  #2 (permalink)  
Old April 16th, 2002
Gnutella Veteran
 
Join Date: March 14th, 2002
Location: Canada
Posts: 121
Smilin' Joe Fission is flying high
Default

While I may not be absolutely sure about this, because it's Bearshare you're testing with, what you might be receiving is a Bearshare spy packet as well as a ping. Basically it's an encrypted packet of some sort that Bearshare sends to everyone, but is intended for other Bearshare servents. It supposedly contains versioning information (as stated by Vinnie), but nobody has really been able to verify the information contained in it. It always shows up as a query and always has a payload of 88 bytes. And apparently the IP address field within this packet is always wrong so it's no use trying to respond to it.

After giving it a bit of thought, this theory fits rather well because you stated you're receiving a total of 134 bytes. Well, if you do the math, the header of a gnutella packet is always 23 bytes. A ping is basically just a header packet... it has no payload. The Bearshare spy packet is a query with a payload of 88 bytes meaning the entire packet is 111 bytes. Add everything up and you've got 134 bytes. Following this theory through, I am assuming this is the very first packet that is sent out by Bearshare whenever a connection is established with a Bearshare servent. So, assuming the address from this packet is the address that you used to respond to with a pong, it would explain why your Bearshare servent didn't report receiving any data.

At any rate you'll have to filter that spy packet out. According to what I've read on it, it shows up as a query but isn't structured as one. A normal query ends in a null and this packet doesn't terminate this way so the best thing to do is just ignore any query packets that don't terminate with a null. You'll also find that you receive this same packet when you first connect to a host cache.

Here's the thread about the Bearshare spy packets.
Reply With Quote
  #3 (permalink)  
Old April 19th, 2002
Unregistered
Guest
 
Posts: n/a
Default ooops thanks for the info...but ..

So, assuming the address from this packet is the address that you used to respond to with a pong, it would explain why your Bearshare servent didn't report receiving any data.




hey dude !
well u are absolutely right about the spy packet..thing...the payload and everything else match up...but the thing is that i am testing the servant that i am developing with bearshare running on the same pc...but running on a different port..i.e 6347...so i am not using the ip addresss recieved...from the spy packet..as suggested by you..(am i right ??).Here's some code from my server thread ..hope this makes things clear....




CBlockingSocket g_listener;
UINT serverthread(LPVOID param)
{
CSockAddr client_address;
CBlockingSocket client_sock_in;
CObList temp;
CMessage* poly;

byte* buffer=new byte[100];
int size=0;
int rec=0;
try{
if(!g_listener.Accept(client_sock_in,client_addres s))
{
TRACE("SOCKET CLOSED\n");
//socket closed for some reason..return
return(0);
}
AfxBeginThread(serverthread,param);
//TRACE("secondary thread started\n");
rec=client_sock_in.Receive((char*)buffer,(size=str len("GNUTELLA CONNECT/0.4\n\n")),10);
buffer[rec]='\0';

TRACE("the request is %s",buffer);
if(strnicmp((char*)buffer,"GNUTELLA CONNECT/0.4\n\n",size)==0)
{

client_sock_in.Write("GNUTELLA OK\n\n",14,10);
TRACE("\n\nWROTE HANDSHAKE");

poly=CMessage::read(&client_sock_in,buffer);
TRACE(" \n %s",poly->GetRuntimeClass()->m_lpszClassName);
temp.AddHead(poly);


CPong* p=new CPong(poly->getGUID(),0x07,6348,((byte*)"127.0.0.1"),7,890) ;
p->write(&client_sock_in);

TRACE("\nRITTEN");

CPing* pi=new CPing(0x07);
pi->write(&client_sock_in);
}

}
catch(CBlockingSocketException* e)
{
char* temp=new char[100];
e->GetErrorMessage(temp,100,NULL);
TRACE("the exception is %s",temp);
client_sock_in.Close();
delete e;

}

return(0);
}


As u can see i am using the socket returned in the accept call to write to bearshare client...which is running on the same pc on which i am developing the client.So there is no question about me mistaking the ip address to which i am sending the packet to...well i tried some sending packets to bearshare in an infinite loop...in the same thread as shown above...and the client does report recieving a bad packet of a huge length...so i am still confused.
Reply With Quote
  #4 (permalink)  
Old April 19th, 2002
Gnutella Veteran
 
Join Date: March 14th, 2002
Location: Canada
Posts: 121
Smilin' Joe Fission is flying high
Default

I haven't kept up on Bearshare, but another thing I noticed is that you are using the Gnutella 0.4 protocol... last I heard, Bearshare blocks all 0.4 servents. If you add the 0.6 handshaking, you may get a response. However, what you can also do is try your testing using different servent software... like Gnucleus. I'm almost certain Gnucleus hasn't blocked 0.4 servents yet and as long as you have it set as a standard servent and not a supernode or leaf node, you'll probably get the results you're looking for (sans spy packets as well).

(EDIT: DUH! I guess I wasn't thinking... I think I got a few things straight like first, Bearshare is connecting to YOUR server. Second, obviously if you're recieving spy packets and pings from Bearshare, you're connected so it obviously still uses the 0.4 protocol.... but you may want to try another servent anyway just to see if it will give you different results. If you get the same results from a different servent, then it might help you trace it back to the source.)

Last edited by Smilin' Joe Fission; April 19th, 2002 at 10:59 AM.
Reply With Quote
  #5 (permalink)  
Old April 20th, 2002
Apprentice
 
Join Date: February 22nd, 2002
Location: India
Posts: 9
abhiexx is flying high
Default ya i tried that with gnutella 0.56

hey joe....
thanks for ur interest in solving my poblem...


anyways....i did try the code...that i posted..with gnutella 0.56...with similar results..that is it is not showing the packets...that i sent...in the SRD fields.

which means that i am doing something wrong in my code...maybe someone can specify the exact sequence of transfers that take place when a client connects to my server...


well another interesting thing that cropped up was that..i sent a ping after the gnutella ok part...bearshare reported that as a bad packet....however...if i sent a pong it didn't show up at all !

however both these packets are reported as good packets...if a write ...to the bearshare server....using...a client thread in my code......hell this is confusing stuff....GIMME A FREAKING BREAK !!!
Reply With Quote
  #6 (permalink)  
Old April 22nd, 2002
Gnutella Veteran
 
Join Date: March 14th, 2002
Location: Canada
Posts: 121
Smilin' Joe Fission is flying high
Default Re: ya i tried that with gnutella 0.56

Quote:
Originally posted by abhiexx
which means that i am doing something wrong in my code...maybe someone can specify the exact sequence of transfers that take place when a client connects to my server...
The sequence of events (as I understand it) starts with your server listening on a specific port (normally 6346) for a connection attempt. After making a connection to your server, the remote client would initiate the handshake procedure. Under the Gnutella 0.4 protocol (I don't have the 0.6 handshaking stuff handy), the client would start with "GNUTELLA CONNECT 0.4\n\n" and your server would respond with "GNUTELLA OK\n\n". Then your server should wait for the remote client to send a ping. Upon receiving the ping, your server would respond with a pong (and it would also propogate that ping to all of the other nodes you're connected to, but first things first). Any pongs you receive from other nodes responding to the ping that was sent by the remote client would also be routed back to it. The rest we can get to when you've made a successful connection.

Quote:
well another interesting thing that cropped up was that..i sent a ping after the gnutella ok part...bearshare reported that as a bad packet....however...if i sent a pong it didn't show up at all !

however both these packets are reported as good packets...if a write ...to the bearshare server....using...a client thread in my code......hell this is confusing stuff....GIMME A FREAKING BREAK !!!
Just off the top of my head, are you sure the packets your server is sending are of the correct size? For instance, a ping is always 23 bytes. Any shorter and it would probably be detected as a bad packet.
Reply With Quote
  #7 (permalink)  
Old April 24th, 2002
Apprentice
 
Join Date: February 22nd, 2002
Location: India
Posts: 9
abhiexx is flying high
Default hmmm....

well i guess...there are some probs...in life...u just gotta solve on ur own...i guess....this is one of them.

thanks to all the ppl who tried to help...Thanks Joe.
i will report anything out of the ordinary...lol...seeya..happy hacking
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
about limewire pro please respond Jayth Halas General Windows Support 2 August 19th, 2005 01:44 AM
Clients blocking other clients Zultrax General Gnutella Development Discussion 5 June 1st, 2004 01:41 AM
will not respond manomia Download/Upload Problems 1 May 16th, 2004 06:58 AM
Why does no one respond? Unregistered General Windows Support 1 June 16th, 2002 08:30 AM
is a server thread necessary now ? abhiexx General Gnutella Development Discussion 2 March 2nd, 2002 10:30 AM


All times are GMT -7. The time now is 05:25 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.