I am having problems with client to client communications with DC++ clients (when my client makes a connection to a DC++ client). I have had a look at serveral documents on the client to client documentation but the best i have seen is the following
Client <-> Client Communication in DC. 11-05-2002. By aDe
----------------------------------------------------------
ACTIVE FILE DOWNLOAD
----------------------
D = downloader
U = uploader
H = hub
D>H: $ConnectToMe <U's username> <D's IP and port>|
H>U: $ConnectToMe <U's username> <D's IP and port>|
U>D: Connection
U>D: $MyNick <U's nick>|$Lock <new lock with pk>|
D>U: $MyNick <D's nick>|$Lock <new lock with pk>|$Direction Download <anumber>|$Key <key for U's lock>|
U>D: $Key <key for D's lock>|
D>U: $Get <filepath + filename in exact case>$<start at byte (1=beginning of file)>|
U>D: $FileLength <length of the requested file>|
D>U: $Send|
U>D: Data, in many chunks.
D>U: $Send| <- when 40906 bytes are sent, ask for more
My main problem is that no matter what i do the DC++ client never sends the $Get command. There are 2 possible problems that i can see. One is someone mentioned that multiple commands need to be send in one packet and another person said it was the order of the command.
i am basing mine off the order of commands as i don't currently have control over how many commands go in each packet. Is this a problem?
Also i found that the DC++ client will no send any commands to my client if i send my nick and then the lock. instead to get the DC++ client to respond i had to send my nick but no send my lock till i got he lock off the DC++ client. If i did that everything worked up to the $Get command.
Peopel have said that DC++ is cammand order sensitive maybe the order in the above Client to client protocol is incorrect for DC++. in which case does someone know the correct order?
I am really stuck on this as nothing i do will get DC++ to send the $get request.
Client to Client protocol and DC++ implementation of it
Moderator: Moderators
-
- Posts: 4
- Joined: 2003-06-15 01:21
-
- Posts: 4
- Joined: 2003-06-15 01:21
solved part of the problem with the communication stuffing up when i send botht he nick and lock at the start. Found out in another post tht the ver of DC++ i was running had a problem with dual processors. I am now connecting to a PC without dual processors but i am still getting stuck when it comes to the $Get request.
just solved the last part. the protocol doc is missing the second direction command. it only slows one direction command been send but both sides need to send a direction command.
just solved the last part. the protocol doc is missing the second direction command. it only slows one direction command been send but both sides need to send a direction command.
-
- Posts: 202
- Joined: 2003-01-06 06:22
- Location: Salford, England.
- Contact:
-
- Forum Moderator
- Posts: 1420
- Joined: 2003-04-22 14:37
Here?OLDoMiNiON wrote:There is a 100% complete DC protocol document somewhere. but i can't remember the web address
-
- Posts: 202
- Joined: 2003-01-06 06:22
- Location: Salford, England.
- Contact:
No, Here
-
- Posts: 202
- Joined: 2003-01-06 06:22
- Location: Salford, England.
- Contact: