別のクラスからメソッドを呼び出そうとしています。つまり、シリアル化を使用したいのですが、メソッド名とそのパラメーターのオブジェクトを作成してソケットに書き込みますが、ObjectOutputStreamを作成したいときに、「接続がピアによってリセットされました」というエラーが発生します。 :ソケット書き込みエラー」考えられる理由を検索しましたが、適切な答えが見つかりませんでした
サーバー側では、ソケットを閉じなかったか、閉じるための作業を何もしなかったので、その後何が起こるかわかりません:-??
行で:
ObjectOutputStream oos = (new ObjectOutputStream(os));
私のコードは次のとおりです。
InvocationVO invo = new InvocationVO("showStart", treasure, round);
for (int i = 0; i < numPlayer; i++) {
OutputStream os = socket.get(i).getOutputStream();
ObjectOutputStream oos = (new ObjectOutputStream(os)); // this has error
oos.writeObject(invo);
oos.close();
os.close();
Client.getClients()[i].invoke();
}
よろしくお願いします!