Socket编程中的 流 该如何用?

String_net 2009-10-14 09:11:59

1,开始我在服务器端使用了一下三种流:
ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream()); //发送 List 容器
DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); //dos.writeUTF()发送字符串
DataInputStream dis = new DataInputStream(socket.getInputStream());//dis.readUTF()接收字符串

结果抛出了StreamCorruptedException 异常, 后来注释掉ObjectOnputStream就过了,
难道ObjectOutputStream 和 DataOutputStream 不能共用?
但是在客户端我需要从服务器端接收一个 List 容器, 只能使用ObjectOutputStream 呀, 还有别的方法么?

2, 后来我在服务器端改用了如下两种流:

ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());

BufferedReader bis = new BufferedReader(new InputStreamReader(socket.getInputStream()));//bis.readLine()接收字符串
而在客户端改用如下两种流:
ObjectInputStream in = new ObjectInputStream(socket.getInputStream()); //接收 List 和 相关字符串
PrintStream ps = new PrintStream(socket.getOutputStream()); //ps.println() 发送字符串

但在客户端的 String str = (String) in.readObject();处 也抛出了StreamCorruptedException 异常

不知道该如何解决...............



...全文
79 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuqingzmqa 2009-10-15
  • 打赏
  • 举报
回复
看看

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧