Java 网络通信异常求解

java.io.StreamCorruptedException:invalidtypecode:00atjava.io.ObjectInputStream.readOb... java.io.StreamCorruptedException: invalid type code: 00
at java.io.ObjectInputStream.readObject0(Unknown Source)
以上是错误代码!
public static Object ByteToObject(byte[] b){//将数组转换成类
Object obj=null;
ByteArrayInputStream in=new ByteArrayInputStream(b);
try {
ObjectInputStream oin=new ObjectInputStream(in);
obj=oin.readObject();//这一行抛出的异常
oin.close();
in.close();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
return obj;
}
代码有些长,服务器方面就是通过ByteBuffer读取到byte数组,然后转换成类。
求大神解释原因,复制的就不要来了,50分献上。
展开
 我来答
百度网友29f6f74
2014-05-25 · TA获得超过189个赞
知道答主
回答量:23
采纳率:100%
帮助的人:18.9万
展开全部
这个你这种方式是不能直接readObject的。除了服务器那边通过writeObject写对象,客户端这边通过socket.getInputStream来readObject,这种要对象是序列化的,不过一般不用这种方式。
另一种是像你这种,服务端那边直接写字节,客户端读取字节,然后解析,再给对象属性赋值,这种我们用的xsocket的框架,支持异步的,你可以到网上看下。
百度网友a7fe165
2014-05-24 · TA获得超过555个赞
知道小有建树答主
回答量:616
采纳率:0%
帮助的人:389万
展开全部
两端的jvm一样吗?
追问
在同一台电脑上测试的,一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式