1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Java - Icq Api?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von MACRASSI, 15.07.08.

  1. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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 =)
     
  2. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    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") 
     
  3. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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?
     
  4. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
    Archiv heruntergeladen, kurzen Blick darauf geworfen, folgende Datei entdeckt:
    joscar-0.9.3/docs/howto/login.html
     
  5. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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) {}
        }
    
     
  6. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
    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
     
  7. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    Ich arbeite mit eclipse, hab da auch die jclaim.jar eingebunden als external jar.
     
  8. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
  9. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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
     
  10. kauan

    kauan Stina Lohmann

    Dabei seit:
    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.
     
  11. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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.
     
  12. kauan

    kauan Stina Lohmann

    Dabei seit:
    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.
     
  13. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    21.11.04
    Beiträge:
    1.754
    So, hier:
     

    Anhänge:

    • ICQ.zip
      Dateigröße:
      3,8 KB
      Aufrufe:
      135
  14. kauan

    kauan Stina Lohmann

    Dabei seit:
    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.
     
  15. MACRASSI

    MACRASSI Gelbe Schleswiger Reinette

    Dabei seit:
    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.
     
  16. kauan

    kauan Stina Lohmann

    Dabei seit:
    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.
     

Diese Seite empfehlen