# Verbindungsproblem



## Sunchezz (18. Sep 2009)

Hi Leuts,

das ist mein erster Netzwerk versuch mit Java^^

ich bin mir nicht sicher ob ich das falsch verstanden habe, aber ich hab jetzt meine Server.class auf meinen Internetserver geschmissen und wollte mit meinem lokalen clienten darauf zugreifen...

"java.net.ConnectionException: Connection refused: connection"

warum werde ich abgewiesen?


Hier mal der Code.

Client-Datei:

```
import java.net.*;
import java.io.*;

public class ClientClass {

  public static void main(String[] args) {
    try {
      Socket soc = new Socket("www.javaleopard.de", 8765);
      InputStream in = soc.getInputStream();
      OutputStream out = soc.getOutputStream();
      out.write(76);

    } catch(IOException e) {
      System.out.println(e);
    }
  }
}
```


Server-Datei:

```
import java.net.*;
import java.io.*;

public class ServerClass {
  private ServerSocket soc;
  public void main(String[] args) {
    try {
      soc = new ServerSocket(8765);
      Socket outS = soc.accept();
      
      InputStream input = outS.getInputStream();
      OutputStream output = outS.getOutputStream();
      
      int c;
      while ((c = input.read()) != -1) {
        output.write((char)c);
      }
      outS.close();
      soc.close();
    } catch(IOException e) {

    }
  }
}
```



Nur mal so nebenbei meine Überlegung:
müssen java-anwendungen nicht gestartet werden? wie funktioniert das denn auf webspace? da hab ich ja schlecht ne Konsole oder sowas. wie kann mein client denn mit einer klasse kommunizieren die "offline" ist?
oder ist das etwa mein Problem? muss man das irgendwie starten oder geht das erst garnicht?

funktionieren etwa nur Applets im internet?


Vielen Dank und Gruß


----------



## dayaftereh (19. Sep 2009)

Also verstehe ich das richtig, du hast die Server.class einfach auf dein webspace gemacht, so wie eine php, date also wenn du das so gemacht hast, dan wird das nicht Funktioniern, du musst einen root Server oder eine Server mit console und java haben, und das Programm über Konsole starten, ich glaube es funktionirt auch wenn du ein Tomcat benutzt!


----------



## faetzminator (20. Sep 2009)

Wenn du php-Dateien ausführen kannst, kannst du dort evtl. einen Prozess starten (was ich zwar bei Hostern eher nicht denke). Mit diesem kannst du die ganzen Javainfos holen, Deine Class starten oder was auch immer du willst. Aber wie gesagt: ich bezweifle, dass der Hoster dies erlaubt.


----------



## Sunchezz (25. Sep 2009)

Also um das jetzt noch mal für mich zusammenzufassen: 
Man braucht einen speziellen "Javawebspace" damit es ohne Umstände funktioniert?


----------



## ARadauer (25. Sep 2009)

Server.class ist keine HTML Datei. Das ist eher sowas wie eine Exe, du kannst auch nicht einfach irgend ein Programm auf deinen Webspace rauf werfen und dann ansprechen.... So einfach ist das nicht...

Ließ dir mal was zum Thema servelts durch.


----------



## tuxedo (25. Sep 2009)

Ich glaub das ist für den Anfang zu hoch 

Um's mal so zu sagen: Auf deinem testrechner, auf dem du das Ding entwickelt hast startest du deine Anwendung ja mit "java ..." oder "javaw ...". Wenn nicht, dann macht das deine IDE für dich ...

Um das Ding jetzt 1:1 auf einem Webserver auszuführen, muss dort auch "java" oder "javaw" existieren. Tut es das nicht (und bei 99% aller Webspace Angebote mit oder ohne PHP ist das der Fall), dann kannst du's nicht laufen lassen.

Was du brauchst ist ein ApplicationServer wie JBoss, oder sowas wie TomCat oder Glassfish oder wie auch immer. Das sind "Java-Server" die bereits mit "java" gestartet wurden und denen du eine .class Datei geben kannst. Diese muss allerdings speziell dafür gemacht sein (Stichwort Servlet, EJB, ...).

Wenn du das nicht willst, dann musst du dir einen Windows oder Linux-Server mieten auf dem du selbst rumfuhrwerken und somit auch "java" und "javaw" benutzen kannst.

Alle Klarheiten beseitigt?

- Alex


----------

