file transfer

Problems compiling? Don't understand the source code? Don't know how to code your feature? Post here.

Moderator: Moderators

Locked
giszo
Posts: 6
Joined: 2006-05-17 04:01

file transfer

Post by giszo » 2006-05-20 04:49

Hi!

I'm working on the Client-Client protocol implementation in my own direct connect client. I've done a lot of work on it and i give it a go with Valknut.
So i tried to download the list from my client with Valknut and i got the following log between the 2 clients:

"<<" means the lines that was sent by my client
">>" means the received lines

The client with [OP]giszo nick is in passive mode and connected to [HUN]giszo. The [HUN]giszo client is my own that i'd like to test.

Transfer log is pasted here: http://phpfi.com/118756

The reason why i started this topic is that i can't understand the following stuff: The Valknut client (the downloader) sent $MaxedOut, but why? Is it a bug in it or in my implementation?

Thx for any help, giszo

Pothead
Posts: 223
Joined: 2005-01-15 06:55

Post by Pothead » 2006-05-20 07:26

No slots available :wink:

giszo
Posts: 6
Joined: 2006-05-17 04:01

Post by giszo » 2006-05-20 09:41

Yes, i know what $MaxedOut means, but my problem is the following: $MaxedOut line was sent by the client that wants to _download_!
As i know $MaxedOut could be only sent by the uploader :)

giszo

Pothead
Posts: 223
Joined: 2005-01-15 06:55

Post by Pothead » 2006-05-20 10:25

O, I see. :oops:
I also thought that only uploaders should send that. :P

ivulfusbar
Posts: 506
Joined: 2003-01-03 07:33

Post by ivulfusbar » 2006-05-20 10:37

Btw, your $Lock doesn't seem to be including Pk.

And on which level is the communication between the clients being done?
Everyone is supposed to download from the hubs, - I don´t know why, but I never do anymore.

giszo
Posts: 6
Joined: 2006-05-17 04:01

Post by giszo » 2006-05-20 10:48

I think you mean this line: "UC >> $Lock EXTENDEDPROTOCOLw98d]Rv^D&-'Lw*OKwRGE@ioh(b:w[PIo8^(e/aZ0?\X<6 Pk=DCGUIWb]//)JIHbL".
This is an incoming line from the other client (Valknut).
I also realized that the Pk part is missing from it, but i think this isn't a fatal bug.

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2006-05-20 21:58

If it is Valknut that is sending the message, you need to take a look at their code. $MaxedOut should (there is no spec, only the Visual Basic NMDC client) only be sent in response to a file request. DC++ wouldn't behave the same, so we're not exactly the right people to ask. :)

giszo
Posts: 6
Joined: 2006-05-17 04:01

Post by giszo » 2006-05-21 03:09

I'm started this topic to talk about the file transfer protocol implementation, not about the Valknut client.
I just used it for testing because it was easy to install & run, but now i switched to DC++ 0.674 and everything looks fine :)
Filelist upload is going well, but still i've one question with the Client-Client protocol.
When i'm downloading the filelist, DC++ uses $Get to request the files.xml.bz2. If i'm trying to download a file from the previously downloaded filelist that file will be requested by $UGetBlock and my client has only XmlBZList in the support list Is it okey? So all new client should support $UGetBlock as well?

GargoyleMT
DC++ Contributor
Posts: 3212
Joined: 2003-01-07 21:46
Location: .pa.us

Post by GargoyleMT » 2006-05-21 07:36

giszo wrote:If i'm trying to download a file from the previously downloaded filelist that file will be requested by $UGetBlock and my client has only XmlBZList in the support list Is it okey? So all new client should support $UGetBlock as well?
Look at the wiki -- I have notes about the usability of $GetZBlock and $UGetBlock in their discussion pages. But you can answer your questions to some extent by looking at the page for $Supports. Each $Supports flag has a description, including which commands it means support for, and what version of DC++ implemented them. XMLBZList is included, of course.

DC++ Uses ADC commands to get files - in fact, you will need to use them as well to retrieve TTH leaves for file verification, so take the plunge and do the village. You can request a file by TTH instead of filename, which will help you out if they've moved it within their share.

Locked