SimpleClient.javaクラスは、あなたがあなたの記事で<code>testobject</code>クラスを繰り返してきたという事実から
import java.net.*;
import java.io.*;
class testobject implements Serializable {
int value;
String id;
public testobject(int v, String s) {
this.value = v;
this.id = s;
}
}
public class SimpleClient {
public static void main(String args[]) {
try {
Socket s = new Socket("localhost", 2002);
OutputStream os = s.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(os);
testobject to = new testobject(1, "object from client");
oos.writeObject(to);
oos.writeObject(new String("another object from the client"));
oos.close();
os.close();
s.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
SimpleServer.java
import java.net.*;
import java.io.*;
class testobject implements Serializable {
int value;
String id;
public testobject(int v, String s) {
this.value = v;
this.id = s;
}
}
public class SimpleServer {
public static void main(String args[]) {
int port = 2002;
try {
ServerSocket ss = new ServerSocket(port);
Socket s = ss.accept();
InputStream is = s.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
testobject to = (testobject) ois.readObject();
if (to != null) {
System.out.println(to.id);
}
System.out.println((String) ois.readObject());
is.close();
s.close();
ss.close();
} catch (Exception e) {
System.out.println(e);
}
}
}
**両方のクラスは**全く同じ**パッケージに入っていますか? [serialVersionUID](https://stackoverflow.com/questions/285793/what-is-a-serialversionuid-and-why-should-i-use-it)を宣言していない場合、両方のクラスを正確に実行します**同じ**コンテンツですか?より多くのポイント;どうして 'TestObject'を別のユニットとしてコンパイルし、それを他のプロジェクトでも使うのはなぜですか?最後に、Javaのクラスは 'PascalCase'では**常に** **言い訳はありません**。 –
"コア"オブジェクト用のJARファイルを作成し、それを2つのプロジェクト間のライブラリとして使用する必要があります。同じ "見える" 2つの独立したJavaクラスを作成しないでください –