Originariamente inviato da billiejoex
Qual è la procedura (mi riferisco ai comandi del protocollo) che il client deve rispettare per connettersi ad un hub? Hai prestato fede all'RFC?

Penso di si.
Il processo di log-in mi pare abbastanza semplice, dando una rapida occhiata alle specifiche:
http://gempond.com/odcps/page.php?key=loggingin
Dovrai, in pratica:
- connetterti al server tramite una banale socket.connect()
- lanciare un socket.recv() e ricevere il comando $Lock dal server
- inviare al server key + nickname (socket.send('$key$tuo_nick'))
- Se il server risponde con un '$ValidateDenide' significa che il nickname è gia in uso e dovrai ripetere il punto 3.
- Il "3 way handshake" si concluderà col server che ritornerà $nome_hub. Log-in terminato. Da qui in poi potrai iniziare a dialogare con l'hub.

...tutto questo ipotizzando che il server non preveda autenticazioni di sorta (ma tu stesso hai detto di voler fare una cosa 'semplice', 'just for trying'), in quel caso si aggiungono ulteriori comandi con conseguente allungamento del codice.

Si è vero,il fatto è che tutti i programmi fatti per questa rete sono in C++ o VB. Ad ogni modo non mi pare di aver visto tutta questa gran mole di documentazione nei siti ufficiali:
* Opera DC protocol;
* Wiki DC++;
* Forum ufficiale;
Altre fonti non ne ho trovate,hai magari fonti migliori?
Sinceramente non ricordo. E' passato troppo tempo.
Seriamente non l'ho ancora fatto per bene: ho provato a sniffare il traffico con Windump filtrando il solo traffico sulla porta 411,ma i messaggi sono impastati in maniera confusa (cioè non c'è una bella formattazione come per i messaggi HTTP),senza contare che non ho ben afferrato che set di caratteri usi,alcuni sono intraducibili...
Non ricordo come sia Windump ma per questo genere di cose io ormai mi sono abituato ad utilizzare sempre e comunque l'ottimo Ethereal che ti consiglio più che vivamente.
Nota: se non vado errato, forse nelle funzioni di ricerca o altro, direct connect impiega anche UDP (e, aggiungo io, magari utilizzando numeri di porta di valore sempre variabile). Se vai più avanti con i progressi, quindi, non ti sarà sufficiente sniffare il solo traffico inerente 441 TCP. Ti conviene non filtrare nulla e cercare di limitare il più possibile l'utilizzo di altre applicazioni che ti potrebbero sporcare i risultati della sessione di sniffing.

saluti