Gruß!
Ich weiß jetzt nicht ob ich in der richtigen Rubrik bin, falls nicht bitte berichtigen. Danke an Moderatoren.
Mein Problem: Ich bin gerade dabei, mit Java zu experementieren und wollte ein Beispiel aus dem Netz nachmachen.
Dazu habe ich QJDK8 auf meinem TS131 installiert. Das kompelieren von Klassen hat nach Anlaufschwierigkeiten auch geklappt.
Was ich wollte, miene NAS als einen lokalen Server für übungszwecke zu benutzen. Den Webserver und den virtuellen Host, habe ich nach dieser Anleitung "Webserver" eingerichtet.
Der Kode der Javaklassen ist folgender:
public class Main {
public static void main(String args[]) {
System.out.println("I am Model.");
ServerHTTP server = new ServerHTTP(3366);
}
}
und
import java.net.ServerSocket;
import java.net.Socket;
import java.io.IOException;
public class ServerHTTP {
public ServerHTTP(int portNumber){
System.out.println("I am Server http in port " + portNumber);
try {
ServerSocket serverSocket = new ServerSocket(portNumber);
Socket clientSocket = serverSocket.accept();
} catch(IOException exc) {
System.out.println(exc);
}
}
}
Alles anzeigen
Bei Ausführung dieses Programms müsste der Server in Wartestellung stehen und auf einen Aufruf der Adresse über ein Browser warten. Beim Aufruf sollte der Server weiterschalten, so wie in den nächsten 2 Sekunden des Videos gezeigt ist.
Bei mir geht das Programm, der Server garnicht in die Wartestellung sondern bringt folgende Fehlermeldung:
java.net.BindException: Address already in use (Bind failed)
Wenn ich jedoch im Main class den Argument des ServerHTTP auf z.B. 3367, also anders als im Webserver im virtuellem Host der QNAP setze, dann geht der Server in die Wartestellung.
Ich hoffe jemand kann mir da weiterhelfen.
Gruß!
Alexander