Kann mir jemand bitte sagen wieso das nicht funktioniert? (Keine Ausgabe)
Java:
public class JavaApplication39 {
static int listeningPort;
public static Runnable getServerRunnable() {
Runnable serverRunnable = new Runnable() {
@Override
public void run() {
ServerSocket server = null;
try {
server = new ServerSocket(0);
listeningPort = server.getLocalPort();
} catch (IOException ex) {
Logger.getLogger(JavaApplication39.class.getName()).log(Level.SEVERE, null, ex);
}
while (true) {
try {
if (server != null) {
System.out.println("[Server] " + "while(true)");
Socket client = server.accept();
Scanner in = new Scanner(client.getInputStream());
PrintWriter out = new PrintWriter(client.getOutputStream(), true);
String input = in.nextLine();
out.write(input + "ruft an!");
}
} catch (IOException ex) {
Logger.getLogger(JavaApplication39.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
return serverRunnable;
}
public static Runnable getClientRunnable() {
Runnable serverRunnable = new Runnable() {
@Override
public void run() {
while (true) {
System.out.println("[Client] " + "while(true)");
try (Socket server = new Socket(InetAddress.getLocalHost(), listeningPort)) {
PrintWriter out = new PrintWriter(server.getOutputStream(), true);
Scanner in = new Scanner(server.getInputStream());
out.println("Niemand");
System.out.println(in.nextLine());
} catch (UnknownHostException ex) {
Logger.getLogger(JavaApplication39.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(JavaApplication39.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
return serverRunnable;
}
public static void main(String[] args) throws InterruptedException {
Thread serverThread = new Thread(getServerRunnable());
Thread clientThread = new Thread(getClientRunnable());
serverThread.start();
Thread.sleep(2000);
clientThread.start();
}