StreamCorruptedException:无效类型代码:ac我的问题是,当它第二次尝试读取对象时,它会抛出异常:java.io.StreamCorruptedException: invalid type code: AC
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at Client.run(BaseStaInstance.java:313)java.io.StreamCorruptedException: invalid type code: AC
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at Client.run(BaseStaInstance.java:313)当我第一次发送完全相同的对象消息时,当我第二次尝试做相同的事情时,它会抛出上面的错误。是否需要对readObject()方法进行再分类?我甚至打印出了下面一行正在接收的消息对象,它与它工作的第一个实例完全相同。Object buf = myInput.readObject();我假设附加有一些问题,但我真的没有必要追加。我只想每次都读一篇新的文章。我真的很感激能帮我修复这个错误。谢谢。==================================在这一行之前,我只是在run()方法中为套接字创建输入和输出对象。对象声明在类的run()方法之外:-@Overridepublic void run() {
try {
sleep((int) 1 * 8000);
} catch (Exception e) {
e.printStackTrace();
}
try {
//Creating input and output streams to transfer messages to the server
myOutput = new ObjectOutputStream(skt.getOutputStream());
myInput = new ObjectInputStream(skt.getInputStream());
while (true) {
buf = myInput.readObject();
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
} catch (Exception e) {
e.printStackTrace();
}
}}你说得对,我没有关闭物体。我不知道该怎么做。
1 回答
MMMHUHU
TA贡献1834条经验 获得超8个赞
ObjectOutputStream
ObjectInputStream
ObjectOutputStream
ObjectOutputStream
0xAC,
ObjectInputStream
ObjectOutputStream.reset().
Readers
Writers
Serializable
添加回答
举报
0/150
提交
取消