日期:2014-05-20  浏览次数:20762 次

java Socket发送消息 每条消息包含多张图片的问题
偶写了一个用socket发送消息的程序,只会发文字信息呀。是封装了以后,以Collection发送的集合。可是我的消息里面每条消息还包含了多张图片 如何发送呀。由于以前没有搞过通信的东东,对java又不是很熟,还是单挑,连个讨论的人都没有。老板还天天催,急死我了。大家帮帮忙呀,小女子在此先行感谢了。最好给出源码哦

------解决方案--------------------
把你的所有数据自己制定一个协议,然后,全部数据都转化成字节流传输,至于源代码嘛,这个东东太麻烦,我可帮不了你了
------解决方案--------------------
获取输出流
将文字编码成字节数组,write到输出流
将图片编码成字节数族,write到输出流
输出流.close()
------解决方案--------------------
多张图片你需要先用个桥段输入它的大小

Java code


    public void writeTo(DataOutput out) throws IOException{
        out.writeChars("sexgirl.jpg");
        out.writeLong(181818);//181818 是图片数据的长度
        //write the image data into out
        out.writeChars("sexboy.jpg");
        out.writeLong(181817);//181817 是另一图片数据的长度
        //write the other image data into out
    }
    
    public void readFrom(DataInput in) throws IOException{
        String name1 = in.readLine();
        long size1 = in.readLong();//这是第一张图片的大小
        byte[] data1 = new byte[(int) size1];
        for(int i=0;i<size1;i++){//读取图片数据
            data1[i] = in.readByte();
        }
        
        String name2 = in.readLine();
        long size2 = in.readLong();//这是第二张图片的大小
        byte[] data2 = new byte[(int) size2];
        for(int i=0;i<size2;i++){//读取图片数据
            data2[i] = in.readByte();
        }
        
    }