PDA

View Full Version : [Java / Eclipse - Tomcat] Interfaccia di comunicazione tra Tomcat e una rete Kad


EBWalker
12-02-2011, 00:51
Salve a tutti,
non sono un frequentatore assiduo di questo forum, ma vista la scarsità di informazioni su Internet riguardo al progetto che devo realizzare, questo mi sembrava il luogo più adatto in cui chiedere aiuto.

Il guaio in cui mi hanno cacciato (sto parlando dei miei docenti asd) è subito descritto: devo sviluppare un progetto per una materia universitaria che abbia un comportamento analogo, per capirci meglio, al celeberrimo eMule. Il punto è che eMule è scritto in linguaggio C e possiede un'interfaccia grafica propria, attraverso la quale l'utente gestisce i comandi di connessione e disconnessione dalla rete Kad. Da quanto ne so io, inoltre, anche la rete Kad è implementata in C.
Ciò che dovrei fare io, invece, consiste nella creazione delle primitive di comunicazione tra Tomcat e la rete Kad stessa. D'accordo, ora state pensando: questo è ubriaco. Ne avete tutte le ragioni! I miei professori hanno avuto la magnifica idea di farmi utilizzare la stessa tipologia di rete Kad implementata da jMule (lo stesso di eMule, ma implementato con Java, http://jmule.org/) e che possa comunicare, anziché col nodo stesso creato da jMule, con un nodo locale rappresentato da Tomcat e dotato quindi di un'interfaccia grafica sviluppata in HTML.
Ora, direi di trascurare la parte della grafica in HTML che conto di risolvere leggendomi qualche guida sul web, e lo stesso dicasi del modo con cui essa comunicherà con Tomcat stesso. Quello che interessa a me, e di cui non trovo ASSOLUTAMENTE NULLA su Internet, è ciò che sta in mezzo a Tomcat e questa famigerata rete Kad sviluppata in Java.

Penso che il problema principale di questo progetto sia il fatto che al mondo non esistono reti Kad (che siano usate dalla maggiorparte degli utenti) implementante in Java, ma tutti, come del resto è logico pensare, usano quelle già esistenti e il cui funzionamento è più che collaudato alle quali si appoggia eMule, vale a dire scritte in C.

Se conoscete primitive particolari che possano adattarsi alla mia richiesta, conoscete qualche sito che tratti l'argomento oppure miracolosamente avete qualche contatto all'interno del forum di jMule, vi prego di farmelo sapere! Anche perché pare che in detto forum proprio non abbiano voglia di farmi iscrivere. :-D

Grazie a tutti, ciao!

D3stroyer
13-02-2011, 14:23
up

PGI-Bis
13-02-2011, 16:47
Io penso che si sia un fraintendimento di base: kad è una rete nel senso che è un insieme di programmi reciprocamente remoti che dialogano usando il protocollo kademilla (o quel che è).

Che alcuni o tutti tra quei programmi siano scritti in c, c++, abap o vattelapesca, è del tutto irrilevante: quel che a te serve è il protocollo.

Se poi hai a disposizione un'implementazione di quel protocollo in java (jmule) allora non ti interessa neppure il protocollo ma, molto più banalmente, ti basta usare quella parte del codice di jmule che lo concretizza.

Al più sorgerà qualche intoppo nel capire come usare il codice di jmule a mo' di libreria - un programma può non considerare questioni che deriverebbero dall'uso del suo codice come supporto ad una seconda applicazione mentre una libreria lo fa in quanto scopo principale.

Ciò detto, il compito si riduce alla creazione di un componente server che faccia da tramite tra l'interfaccia web e il nodo kad ottenuto da jmule.

EBWalker
13-02-2011, 22:39
Sì, esatto, a parte il linguaggio un po' confuso che ho utilizzato il mio problema è proprio quello. Purtroppo però questo è in teoria, ma non ho la più pallida idea di come possa essere realizzato nella pratica!

EBWalker
16-02-2011, 15:49
Up

PGI-Bis
16-02-2011, 16:49
Non è in teoria, è in pratica.

Dei prendere il codice di jmule e guardare come fa a:

1 creare il nodo kad
2 mandare messaggi lungo il corrispondente socket (ce n'è almeno uno, per forza)

Se sei fortunato la questione sarà trattata ad un livello sufficientemente strutturato da non richiedere lo studio del protocollo kademilla. Altrimenti devi studiare quel protocollo - che altro non è se non una convenzione di formato, del genere se mandi un byte che vale 5 stai dicendo "ciao".

Fatto quello non ti resta che integrare il meccanismo di dialogo tramite il nodo kad in una servlet, che è tale e quale ad un normale programma java salvo avere un ciclo vitale e un sacco di funzioni utili.

ally
16-02-2011, 17:01
...cercando con google java + Kademlia si trovano un paio di progetti riguardanti la gestione kad in java...già guardati anche quelli?...