March 9, 2006 1 Comment
DC++ and all Internet applications work on a defined set of rules on how you should communicate with other applications. This is called a protocol. With DC++, you can use two. You can use the NMDC (Neo-Modus Direct Connect) protocol that was designed by Jonathan Hess a few years back. (He developed the NMDC client and hub aswell.) You can also use the ADC (what the acronym should stand for hasn’t been decided) protocol.
In NMDC, each command is sent by a preceding $. If you have a feature (that’s specific for your client/version) you can flag it by using $Supports . Although, you don’t have to, it has been customary to do it. (The NMDC protocol doesn’t require you to do so.) Here are the $Supports that DC++ support: GetZBlock, Minislots, xmlBZlist, ADCGet, ZlibGet, TTHL, TTHF. (I probably have written them wrong…)
GetZBlock is a feature where DC++ request a file to be downloaded. Think of it as a Get command that have compression aswell.
Minislots has been discussed before.
xmlBzList is a feature which means you support the use of XML for file lists.
ADCGet is a well, ugly backwards compatible hack from the ADC protocol. It’s also a “get this file command”.
ZlibGet is a what can be found as ‘Zlig’. It’s basically compression of the ADCGet command.
TTHL is a flag for the ADCGet command, that tell that the client in question support the exchange of (purely) the Tiger Tree Hash Leaves.
TTHF is a flag for the ADCGet command, that tell that the client can request files by TTH/<hash> rather than by filename.
That’s all for now… I’ll probably bring up the equivalent of $Supports for ADC… But for now, hang tight.