Я пытаюсь вызвать метод из другого класса, что означает, что я хочу использовать сериализацию. Я делаю объект имени метода и его параметров и записываю его в сокет, но когда Я хочу, чтобы ObjectOutputStream столкнулся с ошибкой «сброс соединения с ошибкой сокета: сокет» Я искал возможные причины, но я не нашел подходящего ответаjava Исключение: сброс соединения с помощью peer: ошибка записи сокета
на стороне сервера Я не закрывал сокеты или я не делал никакой работы, чтобы закрыть, что я не знаю, что происходит потом: - ??
в строке:
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();
}
спасибо за ваш помогает заранее!
действительно спасибо за ваш ответ. О, я написал это неправильно и исправил его, но я все еще сталкиваюсь с той же ошибкой. Я не мог получить последовательность закрытия потоков и сокета. У меня есть массив Список игроков Сокеты в игре, которая должна быть открыта до окончания игры, в нескольких методах, которые я должен написать или прочитать в некоторых сокетах, пожалуйста, помогите мне в этом и скажите мне практический способ ее решить !? Большое спасибо – user1323163
: что, если я напишу следующим образом: "(новый ObjectOutputStream (socket.get (i) .getOutputStream())). writeObject (invo);" но он по-прежнему имеет ту же ошибку – user1323163
@ user1323163 Тогда у вас все еще есть все те же проблемы. Я не знаю, почему вы думаете, что это улучшение. Это не так. – EJP