当前位置:编程学习 > JAVA >>

java socket 发送图片出现的问题

我这发送的图片是在发送一些字符串之后的。
我开始写的
bb.writeShort(j);
bb.writeLong(l);//发送两个数据

FileInputStream fis1 = new FileInputStream(new File("F:\\1.jpg"));
byte[] buffer = new byte[1024];
 int len= 0 ;
 while (((len = fis1.read(buffer))>0))
  bb.write(buffer, 0, len);  //发送图片

bb.writeShort(j1);
bb.writeLong(l1);//发送另外两个数据


这个发送完之后可以正常收到该图片,但是之后所发送的j1与l1就运行不到了,会直接跳出异常
接受代码:
try{
        DataInputStream dis = new DataInputStream(conn.getInputStream());
        FileOutputStream fos = new FileOutputStream(("F:\\11.jpg"));
        byte[] buffer = new byte[1024];
        int len;
        while (((len = dis.read(buffer))>0))
            fos.write(buffer, 0, len);
        dis.close();
        fos.flush();
        fos.close();
        conn.close();
}catch(IOException e2){

 }
跳出异常说的是什么conn已经关闭了,但是把这些.close()全都删了之后还会跳出异常。不知道怎么回事。
反正每回发送或接收图片时,一分步调试就会出故障,不知道运行到哪就动不了了。到底问题出在哪啊?
还有就是怎么发送多张图片,就是发送完一张图片,再发送几个j1,l1,然后再发送图片,我试着发了,可是最后3张图片保存成一张打不开的图片了。那一张的图片大小和发送的三张的总大小是相同的。
想问问怎么发送多张图片 socket java file buffer byte
补充:Java ,  Eclipse
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,