• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Java - Icq Api?

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Hi!
Gibt es eine Schnittstelle zwischen java und icq, damit ich mir selber nen client schreiben kann?
Ich hab schon von JOscarLib gehört, komme damit aber nicht so ganz zurecht, könnte jemand mir da vielleicht erklären, wie ich zb. eine message schicke, eine empfange und meine kontaktliste abrufe?


Danke =)
 

MatzeLoCal

Rheinischer Bohnapfel
Registriert
05.01.04
Beiträge
2.422
Vielleicht lehne ich mich hier jetzt etwas weit aus dem Fenster, aber die API sieht recht eindeutig aus.


Gesendet wird beispielsweise mit:
Code:
sendMessage(java.lang.String uin, java.lang.String message)

also konkret:

Code:
sendMessage("944869", "Hallo MatzeLoCal")
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Okay Dokay, ich hab mir jetzt hier: http://joust.kano.net/
Die Version 0.9.3-patched geladen.

Wie erstelle ich denn ne ganz einfache verbindung?
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Archiv heruntergeladen, kurzen Blick darauf geworfen, folgende Datei entdeckt:
joscar-0.9.3/docs/howto/login.html
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Also, ich hab mir jetzt das JClaim Projekt angeschaut.
http://sourceforge.net/projects/jclaim/

Hab mir da auch schon nen bisschen code zusammengeschrieben.
Leider bekomme ich beim ausfähren diesen fehler:
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/walluck/oscar/client/AbstractOscarClient
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
	at com.itbs.aimcer.commune.daim.DaimConnection.connect(DaimConnection.java:86)
	at Tests.JOscar_Icq_Patched.main(JOscar_Icq_Patched.java:28)


Hier der code von meinem programm:
Code:
		DaimICQConnection conn = new DaimICQConnection();
		
		conn.setServerName("login.icq.com");
		conn.setServerPort(5190);
		
		conn.setUserName("ICQNUMMER");
		conn.setPassword("PASSWORT");
		
		
		conn.connect();
		System.out.println("Connection: "+conn.isLoggedIn());
		
		ContactImpl cont = new ContactImpl(conn, "EMPFAENGERNUMMER");
                conn.sendMessage(new MessageImpl(cont, true, "hi du"));

Die Klasse MessageImpl habe ich so geschrieben: (Von dieser Seite: http://www.javaworld.com/javaworld/jw-05-2006/jw-0515-jclaim.html)
Code:
public class ContactImpl implements Contact {
        private final Status status = new StatusImpl(this);
        private final Connection connection;
        private final String name;


        public ContactImpl(Connection connection, String name) {
            this.connection = connection;
            this.name = name;
        }
        public void statusChanged() {}
        public Icon getIcon() { return null; }
        public Icon getPicture() { return null; }
        public String getDisplayName() { return name; }
        public void setDisplayName(String name) {}
        public Status getStatus() { return status; }
        public Connection getConnection() { return connection; }
        public String getName() { return name; }
		public void setIcon(Icon arg0) {}
		public void setPicture(Icon arg0) {}
    }
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/walluck/oscar/client/AbstractOscarClient
Das bedeutet, dass die Klasse AbstractOscarClient nicht in deinem Classpath gefunden wurde, du musst also das Jar-File von dieser Library zum Classpath hinzufügen. Weisst du, wie das geht? Entwickelst du mit einer Entwicklungsumgebung (IDE) wie Eclipse oder so?

gruss
Jonathan
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Ich arbeite mit eclipse, hab da auch die jclaim.jar eingebunden als external jar.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Ich bin zu blöd dafür.
Ich hab jetzt auch die drei anderen jar Files eingebunden, bekomme aber immer wieder den selben fehler... Oo
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Du bist nicht zu bloed dafuer, aber vielleicht fehlen dir noch einige Grundlagen.
Kannst du mal dein gesamtes Eclipse-Projekt exportieren und hier reinstellen, dann schaue ichs mir mal an.
gruss
Jonathan

edit: Besser ohne die Jars, sonst wirds ja riesig, so viel kann man hier wohl nicht hochladen. Oder du laedst es irgendwo anders hoch, geht auch.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Ist noch kein richtiges Projekt.
Ich hab nur die eine Datei in der ich halt ne ICQVerbindung versuche und ne Nachricht schicken will...
Hab von diesem JClaim zeug keine ahnung.
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Wenn du Eclipse verwendest, dann hast du sicherlich ein Projekt erstellt? Ich meine jetzt Projekt in der Eclipse-Terminologie :) Zeig einfach mal alles, was du bisher hast, damit ich's bei mir gleich aufsetzen kann, um das Problem zu suchen.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
So, hier:
 

Anhänge

  • ICQ.zip
    3,8 KB · Aufrufe: 145

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Ich habe nun, mithilfe des von dir verlinkten Tutorials, eine Verbindung (Login) hinbekommen. Ich moechte dir ja nicht zu nahe treten, aber ich glaube, das ganze ist noch eine Nummer zu gross fuer dich. Beschaeftige dich doch ausfuehrlich mit Java-Grundlagen (Java ist auch eine Insel ist ein gutes Online-Buch), und mache damit die haeufigsten Fehler, die einem Java-Entwickler passieren. Wenn du dann fit bist, setze dich nochmal hinter diese Library.
Ich will dir ja nicht deinen Enthusiasmus nehmen, aber mach besser kleine Schritte, dann ist auch die Erfolgsquote groesser.
 

MACRASSI

Gelbe Schleswiger Reinette
Registriert
21.11.04
Beiträge
1.754
Könntest du vielleicht das Projekt hochladen, so wie du es zum laufen bekommen hast?
Dann kann ich mir anschauen wie du das gemacht hast.
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Ich hab einfach das Tutorial befolgt, den Code von dort kopiert, die Jars geladen, die auch von JClam geladen werden.