Vous êtes sur la page 1sur 15

TP sockets

Beidja Cheikh

07/01/2023
Classe ServeurMT
Calsse ServeurThreads
Activation de fonctionnalité Telnet client
La connexion
Les principe du jeu
class ServeurMT
• package multithreads;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class ServeurMT {
public static void main(String[] args) {
List<Socket>jouers=new ArrayList<>();
int nbmagique =new Random().nextInt(100);
try {
ServerSocket ss=new ServerSocket(9080);
while (true){
Socket s=ss.accept();
jouers.add(s);
ServeurThreads st=new ServeurThreads(s,jouers,nbmagique);
st.start();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
class ServeurThreads

• package multithreads;
import java.io.*;
import java.net.Socket;
import java.util.List;
import java.util.Random;
public class ServeurThreads extends Thread{
private Socket s;
private List<Socket> jouers;
private int nbMagique;
public ServeurThreads(Socket s, List<Socket> jouers, int
nbMagique) {
this.s = s;
this.jouers = jouers;
this.nbMagique = nbMagique;
}

@Override
public void run(){
try {
InputStream is=s.getInputStream();
OutputStream os=s.getOutputStream();
InputStreamReader isr =new
InputStreamReader(is);
BufferedReader br=new BufferedReader(isr);
PrintWriter pr=new PrintWriter(os,true);
pr.println("Veuillez saisir votre nom :");
String Jname= br.readLine();
int nbj = 0;
String ms;
• do{
try {
pr.println("Veuillez saisir un autre nombre :");
if ((ms=br.readLine())!=null){
nbj=Integer.parseInt(ms);
if(nbj==nbMagique){
pr.println("Bravo vous avez trouver le nombre majique");
for (Socket sjouer:jouers) {
if(sjouer!=s){
OutputStream osj=sjouer.getOutputStream();
PrintWriter prj=new PrintWriter(osj,true);
prj.println("le jouer" +Jname+"a trouvé le nombre
magique :"+nbMagique);
nbMagique =new Random().nextInt(100);
}
}
}
• else if (nbj<nbMagique) {
pr.println("le nombre est inferieur au nombre
magique");
}else{
pr.println(" le nombre est supérieur au nombre
magique ");
}
}

}catch (IOException e){


System.out.println(e.getMessage());
}catch (NumberFormatException e){
e.getStackTrace();
}

}while (nbj!=nbMagique);
for (Socket sjouer:jouers) {
sjouer.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}

}
}
Conclusion

Vous aimerez peut-être aussi