java.io.StreamCorruptedException: invalid type code: 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 ReaderThread.run(Client.java:43)

at java.lang.Thread.run(Thread.java:619)

百度有人问:http://zhidao.baidu.com/question/250766120.html&__bd_tkn__=77f91e0d303193281e16e733a0bd31bb831d94ad8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a59fd359b61a8fa5e0f03de01252775d530bb0c480192040f5ebaf8d73f330b7c293a2cc8620c463dbdafad9b088daccbdc8d0cc83227f54fad

个人理解:线程通信中对象流在使用时,最好只新建一次,因为对象流特殊,有锁机制





java.io.StreamCorruptedException: invalid type code: AC! 有加

 
 
2011-4-10 14:59
提问者: i_know_today 
| 
悬赏分:10 
| 
浏览次数:2220次

问题补充:

java.io.StreamCorruptedException: invalid type code: AC 
在做一个聊天程序的时候,从客户端读取聊天信息后通过ObjectOuputStream写入socket输出流,在服务器端通过socket输入流readObject()读取时抛出异常...
 还有就是那个invalid type code: AC有时候是64000,72000这些代码有什么用,代表什么?求高手,求详细解答!

我来帮他解答

   





推荐答案
检举 
| 2011-4-10 19:05

你是不是在客户端的一个线程里面同时new了多个ObjectOutputStream流。这在ObjectOutputStream是不允许的,其它的流可以。ObjectOutputStream有锁机制

追问

能不能再详细点呢,谢谢!

回答

就是在同一个线程里面多次用了用了new objectOutputStream(socket.getOutputStream())
把objectOutputStream保存在一个公有变量或静态变量中使用objectOutputStream的都用这个公用管道输出吧。

    原文作者:java锁
    原文地址: https://blog.csdn.net/ws992077171/article/details/7969199
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞