Das ist eine Klausuraufgabe, die ich lösen möchte, also keine Hausaufgabe.
Nachfolgend soll eine TCP Server zur Berechnung von Primzahlen implementiert werden. Der TCP-Server berechnet also die Primzahlen (Methode muss nicht implementiert werden) und der TCP Client übermittelt dem Server eine Zahl n, von dem der Server die ersten n Primzahlen berechnet. Die Zahlen werden an den Client zurück gesendet, der dann sowohl die gesendet Zahl als auch die empfangenen Primzahlen ausgibt. Überall wo LÜCKE steht, muss man etwas ausfüllen.
Der Client
Der Server
und die Thread-Klasse
Nachfolgend soll eine TCP Server zur Berechnung von Primzahlen implementiert werden. Der TCP-Server berechnet also die Primzahlen (Methode muss nicht implementiert werden) und der TCP Client übermittelt dem Server eine Zahl n, von dem der Server die ersten n Primzahlen berechnet. Die Zahlen werden an den Client zurück gesendet, der dann sowohl die gesendet Zahl als auch die empfangenen Primzahlen ausgibt. Überall wo LÜCKE steht, muss man etwas ausfüllen.
Der Client
Java:
public class PrimeNumberTCPClient {
Socket socket;
public static void main(String[] args) throws UnknownHostException, IOException{
int n = (int)(Math.random()*100);
@SuppressWarnings("resource")
Socket socket = new Socket("localhost", 6543);
DataInputStream din = new DataInputStream(socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
LÜCKE
int[] primeArray =
LÜCKE
for(int i=0; i<primeArray.length; i++){
System.out.println("Primenumber at client: " + primeArray[i]);
}
}
}
Der Server
Java:
public class PrintNumberTCPServer {
public static void main(String[] args){
ServerSocket s = null;
try{
s = new ServerSocket(6543);
LÜCKE
}catch(IOException ioe){};
}
}
und die Thread-Klasse
Java:
public class PrimeNumberTCPServerThread extends Thread {
static int[] getPrimeArray(int n){
return null;
// Gibt die ersten n Primzahlen als Array zurück
// Hinweis: Funktion muss nicht implementiert werden
}
Socket socket;
public PrimeNumberTCPServerThread(Socket socket){
this.socket = socket;
}
@Override
public void run(){
try{
DataInputStream din = new DataInputStream(socket.getInputStream());
DataOutputStream dout = new DataOutputStream(socket.getOutputStream());
LÜCKE
}catch(IOException e){}
}
}