All pastes #440522 Raw Edit

TP2_JavaServ

public java v1 · immutable
·published 2007-04-15 02:18 UTC
rendered paste body
import java.io.*;import java.net.*;import javax.swing.*;import com.sun.corba.se.impl.orbutil.ObjectWriter;import java.util.ArrayList;import java.util.Collections;import java.io.Serializable;public class Serveur {	static ArrayList<Partie> lesParties;	public static void main(String[] args) {		//déclarations 			ServerSocket ss;		Socket soc[]= new Socket[2];		PrintWriter pw[]= new PrintWriter[2];		BufferedReader br[]= new BufferedReader[2];	//	ObjectOutputStream oos[]=new ObjectOutputStream[2] ;			Joueur lesJoueurs[];		Joueur unJoueur;		int nbJoueur= 2;		boolean partieEnCours=true;		int nbCoupJouer=0;		//creation d'objets nécessaires		try{			ss = new ServerSocket(3000,2); 			ss.setSoTimeout(10);			while(true){				//Initialise les données				Partie nouvPartie;				nbCoupJouer=0;				lesJoueurs =new Joueur[2];				//START//				for(int i=0;i<nbJoueur;i++){					soc[i] = ss.accept(); 	   						pw[i] = new PrintWriter(new BufferedWriter(new OutputStreamWriter(soc[i].getOutputStream())), true);					br[i] = new BufferedReader(new InputStreamReader(soc[i].getInputStream( ) ) );				//	oos[i]= new ObjectOutputStream(soc[i].getOutputStream());					//	oos[i].writeObject(lesParties);					if (i==0){						unJoueur= new Joueur(br[i].readLine());						lesJoueurs[i]= unJoueur;					//	oos[i].writeObject(lesParties);					}else{						unJoueur= new Joueur(br[i].readLine());						lesJoueurs[i]= unJoueur;					//	oos[i].writeObject(lesParties);						pw[i-1].println(lesJoueurs[i].getNomJoueur());						pw[i].println(lesJoueurs[i-1].getNomJoueur());											pw[i-1].println("0");						pw[i].println("1");						do{							for(int z=nbJoueur-1;0<z;z--){								pw[z].println(br[z-1].readLine());									pw[z-1].println(br[z].readLine());								nbCoupJouer++;							}						}while(partieEnCours);						try{							nouvPartie = new Partie(lesJoueurs[i-1].getNomJoueur(),lesJoueurs[i].getNomJoueur(),br[i].readLine(),nbCoupJouer);						}catch(Partie.ScoreImpossible err){							System.out.println("Exception ScoreImpossible: le score n'est pas possible.");						}					}					//communication et traitement : Prend le nom et l'envoie aux client + le jeton					//fermetures					/*for(int i=0;i<2;i++){					soc[i].close();				}*/					//ss.close(); -- Boucle infini, donc on ne ferme pas le serveur.				}			}		}catch (IOException e){			System.out.println(e.toString()+ " Erreur de communication, côté serveur.");			System.exit(0);		}	}}