双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

ObjectOutputStream StreamCorruptedException

print_er print_er 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从客户端用BufferedReader写出一个字符串之后, 再写出一个Object,
服务器读取字符串正常, 再把服务器socket的inputstream包装成ObjectInputString的时候报StreamCorruptedException错, 请各位大神指点

具体错误代码:
java.io.StreamCorruptedException: invalid stream header: 73720004
at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
at java.io.ObjectInputStream.<init>(Unknown Source)
at Test2.main(Test2.java:13)


服务器端代码:

ServerSocket ss = new ServerSocket(6756);
Socket s = ss.accept();
InputStream ins = s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(ins));
String str = br.readLine();
System.out.println(str);
ObjectInputStream bis = new ObjectInputStream(ins);
/* 上面的语句报 java.io.StreamCorruptedException: invalid stream header: 73720004 错 */
User user = (User)bis.readObject();System.out.println(user.name);
bis.close();
s.close();

客户端代码:

OutputStream outs = s.getOutputStream();
PrintWriter pw = new PrintWriter(outs, true);
pw.println("test");
ObjectOutputStream oos = new ObjectOutputStream(outs);
oos.writeObject(new User("hello"));
oos.close();
s.close();


以上代码直接在main方法中定义的
...全文
评论 7
收藏 已收藏
分享
返回顶部
print_er
Java SE 62,621 成员 307,251 内容