public void run(){ try { while(true){ Transmission trans = (Transmission) input.readObject(); String indicateur = ""; // connaitre la nature de l'objet recu indicateur = trans.getIndicateur(); if(indicateur.equals("Message")){ // traitement pour Message String msg = (String) trans.getDonnee(); System.out.println("Recu du Serveur : "+ msg); } else if(indicateur.equals("Tableau")){ // traitement pour les tableau Vector x = (Vector) trans.getDonnee(); System.out.println("Recu du Serveur : "+ x); } else{ // traitement par defaut si on reconnait pas System.out.println("Object non reconnu"); } } } catch (Exception e) { e.printStackTrace(); } }
import java.io.Serializable; /** * Transmission est la classe qui... * * Une Transmission est caracterisee par les inforamtions suivantes : * * <li>Un indicateur</li> * <li>Des donnees</li> * * * * De plus, une Transmission permet de... * * * @see les classes auxquelles se referer * * @author tonNom * @version 1.0 */ public class Transmission implements Serializable { private static final long serialVersionUID = 1L; /** * Description */ private String indicateur; /** * Description */ private Object donnee; /** * Constructeur de Transmission * @param i * L'indicateur * @param d * Les donnees */ public Transmission(String i, Object d){ indicateur = i; donnee = d; } /** * Accesseur à l'indicateur * @return l'indicateur */ public String getIndicateur() { return indicateur; } public Object getDonnee() { return Donnee; } public void setIndicateur(String indicateur) { this.indicateur = indicateur; } public void setDonnee(Object donnee) { this.donnee=donnee; } }
public enum NomEnum { Message, Tableau ; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport java.io.IOException; import java.io.ObjectInputStream; import java.util.Vector; public class monOperation extends Thread{ /** le flux d'entree */ private ObjectInputStream input; /** L'objet qui sera traité apres reception */ private Transmission transmission; /** Constructeur a parametre */ public monOperation(ObjectInputStream i,Transmission t){ input = i; transmission = t; start(); } public void run(){ /** un indice pour m'afficher je suis dans quel iteration*/ int i=0; try { while(true){ System.out.println(++i); /** on recuper l'objet (c'est là où ça se bloque pas !!) */ Transmission trans = (Transmission) input.readObject(); String indicateur = ""; /** connaitre la nature de l'objet recu */ indicateur = trans.getIndicateur(); if(indicateur.equals("Message")){ /** traitement pour Message */ String msg = (String) trans.getDonnee(); System.out.println("Recu du Serveur : "+ msg); }else if(indicateur.equals("Tableau")){ /** traitement pour les tableau */ Vector x = (Vector) trans.getDonnee(); System.out.println("Recu du Serveur : "+ x); }else{ /** traitement par defaut si on reconnait pas*/ System.out.println("Object non reconnu"); } } } catch (IOException e) { System.err.println("IOexception declancé : "+e.getMessage()); } /** pour assurer la repetition du Thread (si vous avez d'autre suggestion n'hesitez pas) */ //new monOperation(input, transmission); catch (ClassNotFoundException e) { // TODO Auto-generated catch block System.err.println("Class non Reconnu"+e.getMessage()); } } }
} else if(indicateur.equals("Tableau")){
if(trans!=null){ indicateur = trans.getIndicateur(); }