シリアル化されたオブジェクトを再構築し、そこからデータにアクセスしようとしています。
これがオブジェクトの送信方法です。
Socket socket = new Socket ("localhost", port);
ObjectOutputStream out = new ObjectOutputStream (socket.getOutputStream());
Tester t = new Tester("test");
out.writeObject(t);
out.flush();
そして、これは私がそれをどのように受け取っているかです
// これがサーバーの構築方法です
private ServerSocket server;
server = new ServerSocket(port);
newsocket = server.accept();
// そして、これが私が実際にオブジェクトを取得する方法です
ObjectInputStream input = new ObjectInputStream(newSocket.getInputStream());
Tester obj = (Tester) input.readObject();
System.out.println(obj.getText());
ただし、次の出力しか得られません
[Ljava.lang.StackTraceElement;@237360be
私が取得したかったのは、オブジェクト「Test」で送信した文字列でした。私が間違っていることはありますか?
私のテスタークラスは次のようになります
public class Tester implements Serializable {
private String theMessage = "";
public Tester(String message) {
theMessage = message;
}
public String getText() {
return theMessage;
}
}