Correction TP4
Correction TP4
Exercice 1 :
1. Classe seveur
import java.io.*;
import java.net.*;
try {
ServerSocket serverSocket = new ServerSocket(port);
System.out.println("Serveur en attente de connexions sur le port " +
port);
while (true) {
Socket clientSocket = serverSocket.accept();
ClientHandler clientHandler = new ClientHandler(clientSocket);
new Thread(clientHandler).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public void run() {
try {
in = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
out = new PrintWriter(clientSocket.getOutputStream(), true);
clientSocket.close();
1
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. Classe client
import java.io.*;
import java.net.*;
try {
Socket socket = new Socket(serverAddress, serverPort);
BufferedReader in = new BufferedReader(new
InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader keyboardInput = new BufferedReader(new
InputStreamReader(System.in));
message = in.readLine();
System.out.println("Serveur: " + message);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Exercice 2 :
public class MultiThreadExample {
public static void main(String[] args) {
// Création et démarrage du premier thread pour "Bonjour !"
Thread bonjourThread = new Thread(() -> {
for (int i = 0; i < 10; i++) {
System.out.println("Bonjour !");
try {
Thread.sleep(1000); // Pause d'une seconde (1000 millisecondes)
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
try {
// Création du socket UDP lié au port 7777
DatagramSocket socket = new DatagramSocket(serveurPort);
// Fermeture du socket
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
2. Classe client
import java.net.*;
import java.io.*;
// Fermeture du socket
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Exercice 4 :
import java.net.*;
import java.io.*;
import java.util.Scanner;
// Fermeture du socket
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}