1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
public static void main(String[] args)
{
//je t'épargne les déclarations de variables et autres tests inutiles pour l'explication
try
{
ServerSocket service = new ServerSocket(9000); //On crée le Socket
.
.
.
if(flag==false)
{
if(args.length>0 && options2.contains("l"))
{
log = true;
}
threadCo = new ThreadConnexion(verbose,log); //on instancie l'objet qui fait les traitements
threadCo.start();
//Une fois les threads démarrés, ServeurThread attend les requêtes clients, au besoin on questionnera l'objet
//et formatera la réponse (pour une meilleure lisibilité) qu'il enverra sur le flux de sortie pour l'afficher
//côté client.
while (true) //boucle infinie
{
Socket connexion = service.accept();
//une fois la requête reçue on crée les flux
BufferedReader entree = new BufferedReader(new InputStreamReader(connexion.getInputStream()));
PrintWriter sortie=new PrintWriter(connexion.getOutputStream(), true);
//on stock la requête (la commande envoyée côté client)
str=entree.readLine();
if(command2==null && options.contains("e"))
{
sortie.println("Exceptions triggered the last minute: ");
//Lire la HashMap ligne par ligne et obtenir la valeur pour la clé de chaque HashMap
Set cles = ans.exceptions.keySet();
Iterator it = cles.iterator();
//on parcours cet array
//System.out.println("Size of Exceptions: "+ans.exceptions.size());
sortie.println("Size of Exceptions: "+ans.exceptions.size()+"keyset: "+cles.size());
while (it.hasNext())
{
System.out.println(it);
Object cle = it.next();
//cle.toString();
Object valeur = ans.getExceptions(cle.toString());
//Object valeur = ans.exceptions.get(cle); //getStatus(cle);
//on rempli l'array avec les valeur pour les clé...
System.out.println("DB: "+cle);
sortie.println("DB: "+cle);
System.out.println(" Exception: "+valeur);
sortie.println(" Exception: "+valeur.toString());
}
sortie.println("Hop !");
System.out.println("Hop !");
//Le flux est pourri dés la 3èe itération, dés qu'on commence à avoir des "login timeout"
sortie.println("\n");
}
if(command2!=null && options.contains("s") && flag3==true)
{
...
}
if(options.contains("u"))
{
...
}
else if(options.contains("s") && command2==null)
{
}
//Puis tout une série de "else if"...
}
catch (IOException e)
{
System.err.println("INIT:"+e);
System.out.println("");
}
} |