Client/serveur

Signaler
Messages postés
2
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2003
-
Messages postés
261
Date d'inscription
jeudi 5 septembre 2002
Statut
Membre
Dernière intervention
6 octobre 2005
-
titou: serait il possible que l'on me donne le code pour receptionner et pour envoyer un tableau d'entiers svp?
VOICI MON CODE:
import java.net.*;
import java.io.*;
import java.lang.*;
import javax.imageio.*;

public class Client2 implements Serializable
{
public static void main( String p[])
{


int a0,a1,a2,a3,b,c;
int tab [] = new int[3];

try
{
Socket serveur = new Socket("192.168.1.119",1245);

InputStream entree = serveur.getInputStream();
OutputStream sortie = serveur.getOutputStream();
PrintStream psortie = new PrintStream( sortie );
DataInputStream dentree = new DataInputStream( entree );


dentree.readFully(tab,0,3);
/* dentree.read_any_array(tab,0,3); */

for(c=0;c<3;c++)
{
System.out.println("val :"+c+" " +tab[c]);
}
serveur.close();
}
catch ( UnknownHostException e )
{ System.out.println("Impossible de trouver le destinataire");}
catch ( IOException e )
{ System.out.println("Impossible de se connecter à la machine"); }

}
}

IL MAFFICHE COMME ERREUR :cannot resolve sympbol
methode readFylly(int[],int,int);
location java.io.dataimputStream
dentree.readFully(atb,0,3)

2 réponses

Messages postés
261
Date d'inscription
jeudi 5 septembre 2002
Statut
Membre
Dernière intervention
6 octobre 2005
11
Le plus simple est d'avoir une classe commune au client et au serveurSerializable, qui contient les données et que tu transmet.
Par exemple :
public class Donnee implements Serializable
{
   public int[] tab=new int[3];
   public Donne()
   {
   }
}


Pour stocker tes données, il suffit d'aivoir une instantnce de donéées, et de les mettre dans la tableau, par exemple :
//...
Donnee donnee=new Donnee();
//...
donnee[0]=56;
//...


Pour transmettre la classe sur un flux :
//...
ObjectOutputStream ecrivain=new ObjectOutputStream(fluxSortie);
ecrivain.writeObject(donnee);
ecrivain.flush();
ecrivain.close();
//...


Pour recevoir la classe sur un flux :
//..
ObjectInputStream lecteur=new ObjectInputStream(fluxEntree);
Donne donne=(Donne)lecteur.readObject();
lecteur.close();
//..


Ca va, j'ai été clair ?

JHelp
Messages postés
261
Date d'inscription
jeudi 5 septembre 2002
Statut
Membre
Dernière intervention
6 octobre 2005
11
Faute de frappe :blush) ,donc voici mon message corrigé :

Le plus simple est d'avoir une classe commune au client et au serveurSerializable, qui contient les données et que tu transmet.
Par exemple :
public class Donnee implements Serializable
{
   public int[] tab=new int[3];
   public Donne()
   {
   }
 }


Pour stocker tes données, il suffit d'aivoir une instantnce de donéées, et de les mettre dans la tableau, par exemple :
 //...
 Donnee donnee=new Donnee();
 //...
 donnee.tab[0]=56;
 //...
 


Pour transmettre la classe sur un flux :
 //...
 ObjectOutputStream ecrivain=new ObjectOutputStream(fluxSortie);
 ecrivain.writeObject(donnee);
 ecrivain.flush();
 ecrivain.close();
 //...
 


Pour recevoir la classe sur un flux :
 //..
 ObjectInputStream lecteur=new ObjectInputStream(fluxEntree);
 Donne donne=(Donne)lecteur.readObject();
 lecteur.close();
 //..
 


Ca va, j'ai été clair ?

JHelp