Problème de desérialisation
Bonjour,
je voudrais envoyer un obj via les socket tcp ,et pour caj' utilse la serialisation
mais l'obj sera serialiser mais dans l'autre cote il ne sera pas deserialiser
pouvez-vous m'aider s'il vous plaît
Merci
voici mon code de serialisation;
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 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 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
| package serial_tchat;
import java.net.*;
import java.io.*;
/**
*
* @author chocho
*/
class Message implements Serializable {
private int senderID;
private String messageText;
public Message(int id, String text) {
senderID = id;
messageText = text;
}
public String getText() {
return messageText;
}
}
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception{
// TODO code application logic here
Message sayhey = new Message(123456789, "Hello");
System.out.println("s bon");
Socket socket = new Socket("127.0.0.1", 12345);
ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
out.writeObject(sayhey);
}
}
et le code de desiralisation est; (il me provoque un erreur);
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package server_serial;
import java.io.*;
import java.net.*;
/**
*
* @author chocho
*/
class Message implements Serializable {
private int senderID;
private String messageText;
public Message(int id, String text) {
senderID = id;
messageText = text;
}
public String getText() {
return messageText;
}
}
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws Exception {
// TODO code application logic here
ServerSocket ss=new ServerSocket(12345);
Socket socket=ss.accept();
System.out.append("attent sur le port ; 12345;");
ObjectInputStream in = new ObjectInputStream(socket.getInputStream());
Message messageObject = (Message) in.readObject();
String messageText = messageObject.getText();
}
} |
et voici l'exception qui se produit; ( dans le code se diserialisation)
Citation:
deps-jar:
Compiling 1 source file to C:\Documents and Settings\chocho\Mes documents\NetBeansProjects\server_serial\build\classes
compile-single:
run-single:
Exception in thread "main" java.lang.ClassNotFoundException: serial_tchat.Message
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
attent sur le port ; 12345;
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at server_serial.Main.main(Main.java:42)
Java Result: 1
BUILD SUCCESSFUL (total time: 17 seconds)