feat: client
This commit is contained in:
@@ -9,20 +9,37 @@ public class Client {
|
||||
try {
|
||||
// 1 - Création du canal avec un port libre
|
||||
DatagramSocket socketClient = new DatagramSocket();
|
||||
InetAddress adresseClient = InetAddress.getByName("localhost");
|
||||
byte[] envoyees; // tampon d'émission
|
||||
byte[] recues = new byte[1024]; // tampon de réception
|
||||
// 2 - Émettre
|
||||
String message = "hello serveur RX302";
|
||||
envoyees = message.getBytes();
|
||||
DatagramPacket messageEnvoye = new DatagramPacket(envoyees, envoyees.length, adresseClient, 6666);
|
||||
socketClient.send(messageEnvoye);
|
||||
InetAddress adresseServeur = InetAddress.getByName("localhost");
|
||||
int portServeur = 6666;
|
||||
|
||||
// 2 - Envoyer un message au serveur
|
||||
String message = "Hello Server";
|
||||
byte[] envoyees = message.getBytes();
|
||||
DatagramPacket paquetEnvoye = new DatagramPacket(
|
||||
envoyees, envoyees.length, adresseServeur, portServeur);
|
||||
socketClient.send(paquetEnvoye);
|
||||
System.out.println("Message envoyé au serveur");
|
||||
|
||||
// 3 - Recevoir
|
||||
byte[] recues = new byte[1024]; // tampon de réception
|
||||
DatagramPacket paquetRecu = new DatagramPacket(recues, recues.length);
|
||||
socketClient.receive(paquetRecu);
|
||||
String reponse = new String(paquetRecu.getData(), 0, paquetRecu.getLength());
|
||||
System.out.println(reponse + " @" + paquetRecu.getAddress() + ":" + paquetRecu.getPort());
|
||||
// 4 - Libérer le canal
|
||||
|
||||
if (reponse.startsWith("PORT:")) {
|
||||
int newPort = Integer.parseInt(reponse.substring(5));
|
||||
|
||||
System.out.println("Connexion au nouveau port: " + newPort);
|
||||
|
||||
// 4 - Communiquer sur le nouveau port
|
||||
String messagePort = "Message au nouveau port";
|
||||
byte[] envoyeesPort = messagePort.getBytes();
|
||||
DatagramPacket paquetPort = new DatagramPacket(
|
||||
envoyeesPort, envoyeesPort.length, adresseServeur, newPort);
|
||||
socketClient.send(paquetPort);
|
||||
}
|
||||
|
||||
// 5 - Libérer le canal
|
||||
socketClient.close();
|
||||
} catch (Exception e) {
|
||||
System.err.println(e);
|
||||
|
||||
Reference in New Issue
Block a user