当我试图通过Java中的服务器套接字发送对象时,出现EOFException。阅读对象时出现EOFException
这是在发送部分的代码:
public static void sendObject(Object Object, InetAddress IP, int Port){
try{
Socket receivingSocket = new Socket(IP, Port);
OutputStream OS = receivingSocket.getOutputStream();
ObjectOutputStream OOS = new ObjectOutputStream(OS);
OOS.writeObject(Object);
OOS.close();
OS.close();
receivingSocket.close();
}
catch(Exception e){
System.err.println("Failed to send object to: " + IP + " on port: " + Port);
System.err.println(e);
}
}
我试图铸造对象的特定对象,并没有奏效。 这个问题实际上在接收端,看起来像这样显示出来:
所以,当我开始下载控制台立刻吐出:
java.io.EOFException
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(Unknown Source)
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at input_output.network.Downloader.run(Downloader.java:68)
编辑:对象确实实现Serializeable
public class Character implements Serializable{
private static final long serialVersionUID = -6390272842934614484L;
BIG编辑!:
我不知道为什么或如何,但我认为下载工作,但现在它不能将接收到的对象转换为我的对象!
Character Char = (Character)OIS.readObject();
java.lang.ClassCastException: server.database.account.Character cannot be cast to database.Character
任何想法为什么?
你看过这个问题吗? http://stackoverflow.com/questions/2666040/java-io-eofexception-while-writing-and-reading-froma-servlet – greenkode
不要忘记刷新输出流。 – Erik
'对象对象'rahhhhhh !!! – UmNyobe