[Cryptojim-devel] ICQ-Protokoll Implementierungen
Status: Planning
Brought to you by:
arndh
From: Arnd H. <ar...@ar...> - 2005-01-30 12:25:39
|
Hallo, ich habe mich am Wochenende mal ein bisschen nach existierenden ICQ=20 Implementierungen umgesehen und bin auf drei Alternativen gesto=DFen: 1.) modifizierte libfaim[2] aus GAIM[1] Diese implementiert das Oscar Protokoll welches sowohl von AIM als auch=20 von ICQ benutzt wird. Diese Library ist in C geschrieben, kompiliert=20 aber sowohl unter Windows als auch unter Linux. Es ist zwar m=F6glich in=20 Java solche Librarys mit Hilfe vom JNI (Java Native Interface)=20 einzubinden blo=DF ist es gerade bei libfaim sehr sehr schwierig. Man=20 m=FCsste Versuchen die Datenstrukturen die libfaim benutzt unter Java=20 abzubilden. Die Datenstrukturen in libfaim sind allerdings alles andere=20 als sauber, so werden unter anderem interne (void *) pointer benutzt=20 *grusel. Vorteil w=E4re allerdings das GAIM sehr aktiv gepflegt wird und so evtl.=20 =C4nderungen am Oscar Protokoll sehr schnell eingepflegt werden k=F6nnten= .=20 Andererseits glaube ich, dass es f=FCr ein Java Applet nahezu unm=F6glich= =20 sein wird native Bibliotheken zu laden. Und evtl wollen wir ja auch mal=20 eine Applet Version von CryptoJIM erstellen. 2.) wiederverwenden von Code aus JIMM[3] JIMM ist ein mobiler java ICQ Client f=FCr Handys. Er besitzt zwar sehr=20 eingeschr=E4nkte Funktionalit=E4t allerdings scheint auch JIMM gut gepfle= gt=20 zu werden, so dass kritische Bugs relativ schnell gefixt werden sollten. 3.) Verwendung von ooimlib[4] alias JOscarLib Das ist eine in Java implementierte ICQ-Library. Allerdings scheinen=20 Bugs schon lange nicht mehr gefixt zu werden, und in der momentanten=20 Fassung lassen sich keine Kontaktlisten vom ICQ Server laden.... :-/ Das=20 letzte Release ist vom 19.07.2003. Fazit: Also davon libfaim zu benutzen bin ich eigentlich schon wieder ab, es=20 bedeutet extremes Gefrickel und das macht glaube ich nicht sonderlich=20 Spa=DF. Bleiben also JIMM oder JOscarLib. Der Code in JIMM scheint sehr=20 schlank zu sein, was mir irgendwie gef=E4llt. Vielleicht solten wir mit=20 der schlanken Implementierung von JIMM anfangen und dann Funktionen die=20 wir ben=F6tigen selber implementieren, was meint ihr? URLs: [1] http://gaim.sourceforge.net [2] http://cvs.sourceforge.net/viewcvs.py/gaim/gaim/src/protocols/oscar/ [3] http://jimm.sourceforge.net/ [4] http://sourceforge.net/projects/ooimlib/ |