# Netzwerk Verbindungsproblem mit Cajo



## Sakerdotes (3. Apr 2012)

Hallo,

Ich Arbeite jetzt schon mehrere Wochen an einem Multi Client Editor mit Chat Funktion. Faktisch sieht es so aus ,dass ich einen Server habe, der Laufen muss, bei dem sich mehrere Clients innerhalb eines Lan Netzwerkes(Internet wäre mir lieber gewesen aber ich bekomme es im Lan Netzwerk schon nicht hin) einloggen können und übers Netzwerk miteinander schreiben. Wenn ich den Server und den Client beide auf einer Maschine Laufen lasse funktioniert alles und ich kann mich bei meinem Server anmelden, etc....      
Mein Problem liegt jetzt darin, dass ich keine Verbindung von mehreren Rechnern innerhalb eines Lan Netzwerkes auf den Server, der auch innerhalb des Lan Netzwerkes lauft, herstellen kann.

Hier der QuellText für den Verbindungsaufbau beim Server:


```
public static void main (String args[])  throws  Exception
     {
        Cajo cajo = new Cajo();   
        System.out.println("Server running");
        cajo.export(new Server_Methoden());  
     }
```


Hier der QuellText für den Verbindungsaufbau beim Client:


```
public void cajo_setzen() throws Exception
    {
      try{


        cajo = new Cajo();
        Thread.currentThread().sleep(100);  //cajo braucht die zeit

        Object refs[] = cajo.lookup(ClientSet.class);

         if (refs.length > 0)
         {
         System.out.println("Found ");
         cs = (ClientSet)cajo.proxy(refs[0], ClientSet.class);
         verbunden = true;
         }
         else
         {
           JOptionPane.showMessageDialog(null,"Keine Server Verfügbar");
         }
      }catch (IOException e1){}
    }
```

Ich suche die Stelle, an der Man die IP, zu der Connected werden soll angegeben werden kann.Ich hab schon viel mit Werte in cajo = new Cajo(---   Hier  ---)  eintragen versucht aber bisher ohne Erfolg.

Beim Versuch zu Connecten Poppt die Fehlermeldungs Dialog "Keine Server Verfügbar" auf. 

Ich hoffe jemand kann mir dabei Weiterhelfen.Falls ich mehr infos zu meinem Quelltext geben soll einfach fragen ;-)


----------



## tuxedo (4. Apr 2012)

Denke am ehesten wirst du in der Cajo Doku was finden:

The cajo project: Wiki: SDK &mdash; Java.net

Bei Wikipedia gibt's auch noch ein Hello-World Beispiel: Cajo ? Wikipedia

Oder aber du schaust dir das [werbung] viel coolere SIMON[/werbung] an


----------



## Sakerdotes (5. Apr 2012)

Danke für die Info.
Man glaubt es kaum aber das Wikipedia Beispiel hat mir echt weitergeholfen.Ich habe einfach meine Cajo befehle mit denen von Wikipedia getauscht und schon hats im Lan-Netzwerk funktioniert.


----------



## tuxedo (5. Apr 2012)

Aus reiner Neugier:

Aus welchen Gründen ist die Wahl bei dir auf Cajo gefallen? Laut Wikipedia hat Cajo - eingesetzt mit Java >=5.0 - ja als einzigen "Vorteil" nur noch, dass man keine expliziten Schnittstellen/Interfaces benötigt. Viele werden das wohl aber als Nachteil ansehen ... (Stichwort u.a. Typsicherheit)


----------



## Sakerdotes (5. Apr 2012)

Zuerst hatte ich versucht die Verbindung über Sockets aufzubauen, aber ich hatte ziemliche Probleme damit und brauchte eine einfachere Variant.Als ich mich dann ein bisschen umgeguckt und umgehört habe hat ein Freund mir erzählt das es Cajo giebt.Daraufhin habe ich Cajo getestet und es lief anfang einwandfrei, somit bin ich dann bei Cajo gelandet^^


----------



## tuxedo (5. Apr 2012)

Alles klar. Falls du deinen Horizont erweitern möchtest, kannst du dir ja noch andere RPC Techniken wie RMI oder auch SIMON anschauen. RMI wird dir in deinem Entwicklerdasein sicher häufiger begegnen als Cajo (... "Auslaufmodell"). Schadet also nicht da auch bescheid zu wissen.


----------

