Я пытаюсь передать данные от MySQL
клиенту, использующему сокет. Для List
, я предпочитаю использовать массив, но если я посылаю массив с помощью этого:Java ObjectInputStream java.io.EOFException
InputStream input = client.getInputStream();
OutputStream output = client.getOutputStream();
ObjectOutputStream obOutput = new ObjectOutputStream(output);
Statement statement = dataConnection.createStatement();
ResultSet modList = statement.executeQuery("SELECT modID, downloads FROM modRegister");
String[][] mods = new String[3][3];
int column = 0;
while (modList.next()) {
mods[column][1] = modList.getString("modID");
mods[column][2] = modList.getString("downloads");
++column;
}
System.out.println(mods[1][1]);
PrintWriter printClient = new PrintWriter(output);
printClient.println(column);
printClient.close();
obOutput.writeObject(mods);
obOutput.flush();
и получить его от клиента с помощью этого:
Socket server = new Socket("localhost", 25566);
InputStream input = server.getInputStream();
OutputStream output = server.getOutputStream();
ObjectInputStream obInput = new ObjectInputStream(input);
BufferedReader reader = new BufferedReader(new InputStreamReader(input));
String s;
int columns = 0;
while((s = reader.readLine()) != null) {
columns = Integer.parseInt(s);
System.out.println(s);
}
String [][] mods;
TimeUnit.SECONDS.sleep(10);
mods = (String[][])obInput.readObject();
я получаю EOFException
, даже с временная задержка. Массив действителен. Я протестировал распечатку всех данных. Вот за исключением:
Caused by: java.io.EOFException
at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2601)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1319)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371)
at layout.MainStoreController.initialize(MainStoreController.java:36)
... 32 more
не могли бы вы разместить код для 'layout.MainStoreController.initialize'? Где в стеке находится код, который вы выполнили? –
Ну, это фактически второй код, не более того, этот метод. – dav20011
Не могли бы вы опубликовать определение всего метода; скобки, имена, аргументы, имена классов и пути класса? –