socket传送图象问题

CQ8587 2006-01-26 11:26:46
如何用socket传送图象?
我在Server端
Socket client = serversocket.accept();
imageOut = client.getOutputStream();
ImageIO.write(img, "jpg", imageOut);//img为一个BufferedImage

在client端
String ip="127.0.0.1";
socket = new Socket(ip, 1234);
imageIn = socket.getInputStream();
//这一句出现很长时间的等待无法继续执行下去
BufferedImage img = ImageIO.read(imageIn);//#

如果在//#号句前加Sysem.out.println(imageIn.read());
会先输出一个数字,然后得到一个null的img
如果不加就是很长时间的等待

我尝试过用ObjectInputStream 和ObjectOutputStream把这两个流包装起来
但是用ObjectOutputStream.writeObject(img);时会抛出NotSerializable异常
然后自己写一个class extends BufferedImage又会出错
实在想不出办法了
请教:如何利用socket传送图象?
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
niange1to3 2006-01-27
  • 打赏
  • 举报
回复
我刚用bufferedOutputStream 写到SOCKET 然后 bufferedInputStream 从socket读 可行。你也试试吧。
菠菜Hello_World 2006-01-26
  • 打赏
  • 举报
回复
这个问题我也遇到过,只不过我用ObjectOutputStream 传的是一个对象。发现根本无法写入Socket的输出流中。最后只好通过文件传啦。
725137 2006-01-26
  • 打赏
  • 举报
回复
直接用文件流方式传
CQ8587 2006-01-26
  • 打赏
  • 举报
回复
没有用
yuzl32 2006-01-26
  • 打赏
  • 举报
回复
write 后,flush 一下.

62,629

社区成员

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

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