[Réseau]Envoyer un Objet sur le réseau
Salut,
J 'essaye depuis tout a l'heure d'envoyer un message de type Message :
voila sa classe :
Code:
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
|
import java.net.*;
import java.io.*;
class Message implements Serializable
{
private String TextMessage;
private int[] pixels;
public String Sender;
private String Receiver;
public Message(int[] pixels,String Sender,String Receiver)
{
this.Receiver=Receiver;
this.Sender=Sender;
this.pixels=pixels;
}
public Message(String TextMessage,String Sender,String Receiver)
{
this.Receiver=Receiver;
this.Sender=Sender;
this.TextMessage=TextMessage;
} |
La ou ca bug c'est lorsque j'envoie le message a l'aide de :
:j'ai initialiser le message correctement puis
public void Message()
{
String check;
Message mess= new Message("ca va","fred","jacques");
this.send(mess);
check =(String)receive();
System.out.println("The messsage recu de la classe message est : " + check);
}
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
private void send(Object o)
{
try
{
System.out.println("Sending " + o);
os.writeObject(o);
os.flush();
}
catch (Exception ex)
{
System.out.println(ex.toString());
}
} |
J'obtiens l'erreur :
Citation:
C:\Temp>appletviewer InterfaceClient.html
Connected to Server
Sending Message@16f8cd0
java.io.EOFException
The messsage envoiye de la classe message est : null
Que faut il faire pour envoyer un message de ce type au serveur ?
Re: Envoyer une objet de type message sur le reseau.
Citation:
Envoyé par Battosaiii
La ou ca bug c'est lorsque j'envoie le message a l'aide de :
:j'ai initialiser le message correctement puis
public void Message()
{
String check;
Message mess= new Message("ca va","fred","jacques");
this.send(mess);
check =(String)receive();
System.out.println("The messsage recu de la classe message est : " + check);
}
?
Deja il y a un petit probleme que je vois, mais je ne sais pas si c'est l'origine du probleme mais sait on jamais.
Code:
1 2
| Message mess= new Message("ca va","fred","jacques");
this.send(mess); |
Tu envoie un Message mais
Code:
check =(String)receive();
Tu veux recuperer un String ...
Essai ca plutot :
check = ((Message)receive()).toString();
Bon ca t'affichera pas un message bien sympathique si tu n'a pas redefini la methode toString() mais bon, ca devrait deja mieux fonctionner.