ok, to start with, i am using a modded version of dc++k, but my question is regarding dc protocol, so i dont think it should matter
it's set up to download filelists automatically when users enter the hub. one of the additions i have made is a 'hook' in the onLock method which saves the lock and pk into the user object when they are sent. As i understand it, a $Lock is sent on any connection attempt. Thus, if i request a filelist, and a user is using NMDC, they will reply to my $ConnectToMe with a $Lock, then send a $MaxedOut. thus, i will still have their lock and pk.
My edited version, upon receiving the lock/pk combo, will update the hub screen and display the lock and pk on the screen. and 99% of the time, the lock and pk are retrieved even if no transfer starts. However, on rare occasions, I will receive a "No slots available" error, and find that the screen has not been updated with lock and pk info.
Is there anyway this could happen? Legitimately, I mean? Connection Timeout I can understand, as no connection was made. The fact that I received a MaxedOut means the connection was made, but a Lock wasnt sent. I'm trying to determine whether this is just a random thing, or a possible result of slot blocking...
Also, can anyone enlighten me as to what exactly the $Ping command does? And what kind of response is generated? I understand dc++ will ignore it, but what will NMDC reply with? Also, since it's UDP, how do i go about sending one out? Or is this a hub-client thing, which clients can't do?
more stuff on getting lock/pk
Moderator: Moderators
-
- Posts: 36
- Joined: 2003-01-19 22:22
- Location: Rochester, NY, USA
- Contact:
-
- DC++ Contributor
- Posts: 3212
- Joined: 2003-01-07 21:46
- Location: .pa.us
Re: more stuff on getting lock/pk
Look at the BCDC++ source if you're looking at hooking $Ping support in to DC++. I believe it responds to $Pings as part of its NMDC emulation.dieselmachine wrote:Also, can anyone enlighten me as to what exactly the $Ping command does? And what kind of response is generated? I understand dc++ will ignore it, but what will NMDC reply with? Also, since it's UDP, how do i go about sending one out? Or is this a hub-client thing, which clients can't do?