IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Probleme d'enregistrement d'un PrintWriter


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut Probleme d'enregistrement d'un PrintWriter
    Salut,
    Je suis en train de faire une application client-serveur.J'essaye d'enregistrer le flux de sortie dans un tableau.
    Au depart j'utilisais un Tableau de vecteur mais par la suite j'ai implemente ma propre classe qui devait enregistre le PrintWriter de chaque client ainsi que certaines autres informations.
    Lorsque j'ajoute un client j'envoie PrintWriter out qui devient null alors qu'a sa creation il ne l'est pas.
    Avez vous une idee?

    Voici ma class qui enregistre les PrintWriter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    class Table{
    	//cette classe permet l association du flux avec le client:) Pour l instant on enregistre que la position
    	//plus tard on creera un objet joueur
    	PrintWriter out;
    	int pos;
    	Table(){
    		this.pos=-1;
    		this.out=null;
    	}
     
    	Table(PrintWriter o,int pos){
    		this.pos=pos;
    		this.out=out;
    	}
     
    	Table(PrintWriter o){
    		this.pos=-1;
    		this.out=out;
    	}
     
    	public int getPosition(){
    		return this.pos;
    	}
     
    	public void setPosition(int a){
    		this.pos=a;
    	}
     
    	public PrintWriter getWrite(){
    		return this.out;
    	}
    }
     
     
    class TableClients{
     
    	private Table tab[];
    	private int nbclients=0;
    	private int MaxClients;
     
    	TableClients(int n){
    		MaxClients=n;
    		tab=new Table[n];
    		init();
    	}
     
    	public void init(){
    		for(int i=0;i < MaxClients;i++)
    			tab[i]=new Table();
    	}
     
    //fonctions qui renvoie la position ou le PrintWriter out
    Voici le thread du server qui est lance a chaque nouvelle connexion d'un client vers le serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    BlablaThread(Socket s, BlablaServ blablaServ) 
      {
        _blablaServ=blablaServ; 
        _s=s;
        try
        {
         _out = new PrintWriter(_s.getOutputStream());
          _in = new BufferedReader(new
    InputStreamReader(_s.getInputStream()));
          System.out.println("out vaut "+_out);//test de _out : il n'est pas null
          _numClient = blablaServ.addClient(_out,-1);
        //l'appel de addClient avec les parametre
        }
        catch (IOException e){System.out.println("exception thread server pour le out et in"); }
     
        _t = new Thread(this); 
        _t.start(); 
      }
    Voici le code de addClient qui se trouve dans la class serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     synchronized public int addClient(PrintWriter out,int position)
      {
        _nbClients++; 
        _tabClients.addElement(out,position);
        System.out.println("out vaut : "+_tabClients.elementAt(0));
        //cela m'affiche null
        return _tabClients.size()-1;
      }

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 90
    Par défaut
    Lol je me suis trompe en affectant la variable dans la class Table.
    Ca marche nickel maintenant .

Discussions similaires

  1. Probleme d'enregistrement dans un hash
    Par vodevil dans le forum Langage
    Réponses: 2
    Dernier message: 04/12/2005, 12h58
  2. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  3. Réponses: 1
    Dernier message: 04/11/2005, 23h26
  4. Probleme d'enregistre de caracteres unicodes dans sqlserver
    Par ouedmouss dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 05/09/2005, 08h13
  5. [Oracle 10g]Problème pour enregistrer blob
    Par Invité dans le forum Hibernate
    Réponses: 6
    Dernier message: 27/04/2005, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo