Probleme de communication entre un serveur et son client
magicyan
Messages postés11Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention12 juin 2003
-
15 mai 2003 à 17:59
magicyan
Messages postés11Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention12 juin 2003
-
16 mai 2003 à 14:27
Bonjour,
Cela fait 3 jours que j'essaye de transmettre un fichier xml d'un serveur a un client. Du coté du serveur tout se passe bien mais le client n'a pas l'air de bien receptionner ce fichier : Il me lance tout un tas d'exception.
Voici le code que j'utilise pour le client :
package mille_bornes;
import java.io.*;
import java.net.*;
public class Client extends Thread{
private ObjectOutputStream output;
private ObjectInputStream input;
private LitMainXml fic;
private String ip;
private int port;
ObjectInputStream ois;
public Client(String Ip, int Port) {
ip=Ip;
port=Port;
this.start();
}
public void run()
{
Socket client;
try {
client = new Socket( InetAddress.getByName( ip ), port );
output = new ObjectOutputStream( client.getOutputStream() );
input = new ObjectInputStream( client.getInputStream() );
try {
System.out.println(input.readObject() instanceof File);
try {
File f = (File)input.readObject();
ois = new ObjectInputStream(new FileInputStream(f));
}
catch(EOFException e) {
System.out.print("fin de fichier");
}
boolean t = true;
while(t) {
try {
System.out.println(ois.read());
}
catch(EOFException e) {
t=false;
}
}
}
catch ( ClassNotFoundException cnfex ) {
System.out.println( "Le type de l'objet transmit est inconnu" );
}
output.close();
input.close();
client.close();
}
catch ( IOException e ) {
e.printStackTrace();
}
}
private void sendData( File f )
{
try {
output.writeObject( f );
output.flush();
}
catch ( IOException cnfex ) {
System.out.println("probleme d'ecriture du fichier");
}
}
public LitMainXml getLitMainXml(){
return fic;
}
}
Voila, j'espere que ca interressera quelqu'un.
Merci d'avance!!
A voir également:
Probleme de communication entre un serveur et son client
magicyan
Messages postés11Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention12 juin 2003 16 mai 2003 à 10:09
Ok, donc voila les erreurs qu'il m'affiche sur le client sachant que sur le serveur, tout s'est bien déroulé, c'est à dire qu'il a lancé l'appli des que le client s'est connecté) :
java.lang.NullPointerException at mille_bornes.Plateau.actionPerformed(Plateau.java:424)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1764) at
cs_Duss
Messages postés890Date d'inscriptionlundi 8 avril 2002StatutMembreDernière intervention29 juillet 200411 16 mai 2003 à 10:23
bon apparement, ton erreur vient d un objet que tu utilises et que tu as oublié d instancier dans ta classe Plateau dans la fonction actionPerformed !!
D autre part,
public class LitMainXml {
private Carte tab[];
.
.
.
public Carte[] litMain(){
return tab;
}
}
n aurais tu pas oublié d instancier ton tab ????
tu le declare la c est tout
Duss
magicyan
Messages postés11Date d'inscriptionjeudi 19 décembre 2002StatutMembreDernière intervention12 juin 2003 16 mai 2003 à 14:27
Bon, j'ai bien avancé grace a vous. Merci!!
J'ai un nouveau problème : c'est que le client ne recoit qu'un octet sur 2 de ce que le serveur lui envoie!!!
Par exemple, le serveur envoie 63,120,109,108,32,118,101, et le client recoit : 63, 109,32,118.