作成したシリアル化可能なオブジェクトをソケット経由で送信する際に奇妙な問題があります。実際、サーバーとクライアントを同じマシンで実行するとうまく動作しますが、サーバーとクライアントが異なるマシンにある場合、サーバー側の readen オブジェクトは空です (サイズがゼロに等しい)
誰でもそれを修正する考えがありますか? (コードは以下)
サーバ:
public static void main () {
...
InputStream is = mysocket.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
ArrayList<MyObject> list_of_object;
list_of_object = (ArrayList<MyObject>) ois.readObject();
logger.log(Level.INFO,"object readen with size : "+list_of_object.size());
...
}
クライアント:
public static void main () {
...
ObjectOutputStream oos = new ObjectOutputStream(mysocket.getOutputStream());
oos.writeObject(list_of_object);
...
}