关于StreamCorruptedException: invalid type code: AC 异常
来源:互联网 发布:java键盘监听事件 编辑:程序博客网 时间:2024/06/02 00:46
今天写客户端/服务端的通信被这个异常给搞死了。
网上查了一下,有两种说法。一种是对象流序列化的问题,一种是同一个Sokcet的对象流只能被封装一次,即只能new一个ObjectInputStream 实例或者ObjectOutputStream实例。整了一个下午加晚上,最后在朋友的帮助下解决了。
其实这两种说法是一个意思,因为输出对象流在将对象序列化的时候会在第一次加一个head上去,后面继续传输的时候省去了这一个步骤。而相对应的接受这个对象的输入流在第一次的时候去掉这个头,此后直接读取。因此,只要有任意一方多次封装了对象流,就会造成重复加head或者重复去head,导致错误。
重点就是一个socket只能封装一次对象流,你 可以用全局变量,静态变量,或者哈希表、数组之类的存起来,方便后面使用。
不过还有一个疑问一直搞不懂,我是看视频学习的,我差不多是跟视频代码一样的,视频代码没报错,我也是在下午添加一个新模块之后才保错的,早上时候还可以正常通信。啊,对了,解决问题的时候想到一个验证方法,就是对象流的引用赋空,这样对象流就被回收了,再次new的时候就不会有问题了。不过好像回收机制有一定的时间延迟的,最后还是会出错,
0 0
- 关于StreamCorruptedException: invalid type code: AC 异常
- java.io.StreamCorruptedException: invalid type code: AC异常
- java.io.StreamCorruptedException: invalid type code: AC
- java.io.StreamCorruptedException: invalid type code: AC
- java.io.StreamCorruptedException: invalid type code: AC异常和对象流锁机制问题
- .java.io.StreamCorruptedException: invalid type code: AC解决办法
- .java.io.StreamCorruptedException: invalid type code: AC解决办法
- java.io.StreamCorruptedException: invalid type code: AC解决办法
- java.io.StreamCorruptedException: invalid type code: AC解决办法
- java.io.StreamCorruptedException: invalid type code: AC错误的解决方法
- java.io.StreamCorruptedException: invalid type code: AC解决办法
- java.io.StreamCorruptedException: invalid type code: AC问题解决
- invalid type code: AC异常
- 多次创建object 写入对象文件中.java.io.StreamCorruptedException: invalid type code: AC解决办法
- tomcat8.0 启动报错 java.io.StreamCorruptedException: invalid type code: 3F
- 存储两次序列化对象,读取报错问题 java.io.StreamCorruptedException: invalid type code: A
- java.io.StreamCorruptedException: invalid stream header: 异常
- 关于Parcelable传递时候的异常 Unmarshalling unknown type code。
- 2015072205 - 安装古剑6
- 能量项链(如果可以我一万年不想碰DP)
- 用Function类创建函数的缺点
- Android布局(三)TableLayout
- sizeof小览
- 关于StreamCorruptedException: invalid type code: AC 异常
- 第14章:数组
- HDOJ--1106排序
- JavaScript 概述
- 第13章:虚函数
- 在树莓派(Debian系统)上安装wxPython
- JS的Global对象
- 递归-放苹果
- http get(swift and oc)