*** Welcome to piglix ***

Advanced Direct Connect

Advanced Direct Connect
Protocol Version: 1.0.3
Extension Version 1.0.8
http://www.adc.sourceforge.net
Protocol
Extensions

Advanced Direct Connect (ADC) is a peer-to-peer file sharing and chat protocol, using the same network topology, concepts and terminology as the (DC) protocol.

"ADC" unofficially an acronym for "Advanced Direct Connect".

ADC was created to allow an extensible protocol and to address some shortcomings of the . It was initiated by Jacek Sieka, under the influence of Jan Vidar Krey's DCTNG draft. The first revision of ADC came in 2004 and the first official version in 2007-12-01.

ADC is structured around clients that connect to a central hub, where the clients (users) can chat and download files from other clients (users). The hub provides routing between clients for chat, searches and requests for connections. The actual file transfers are between clients.

The protocol itself is split in two parts: a base protocol that every client and hub respectively must follow and extensions that are optional. The protocols allow signalling of protocol features (such as bloom filters), and messages can be constructed to only be routed to those who support that particular feature.

Each hub has their own rules and are commonly governed by hub operators. Hubs may define different capabilities for hub operators. The hubs themselves do not regulate discussion and files, but the hub operators. The hub regulate minimum share and maximum amount of simultaneous hubs; things that are sent by the client, rather than the user.

Lists of hubs exist where a hub's name, description, address and rules are specified. With the hub list, users can choose hubs that are similar according to the user's liking of discussion topics and files.

The peer-to-peer part of the protocol is based on a concept of "slots" (similar to number of open positions for a job). These slots denote the number of people that are allowed to download from a user at any time. The slots are controlled by the user of respective client.

ADC require that all text must be sent in UTF-8, which means that users with different system encoding (say, Russian and Chinese) are able to chat with respective native characters.

The protocol natively supports IPv6.

There are two modes a user can be in: "active" or "passive". Clients in active mode can download from anyone else on the network. Passive mode users can only download from active users. Passive clients will be sent search results through the hub, while active clients will receive the results directly. An active searcher will receive (at most) 10 results per user and a passive searcher will receive (at most) 5 results per user. NAT traversal exist as a protocol extension, which allow passive users to connect to other passive users.


...
Wikipedia

...