当前位置: 代码迷 >> J2ME >> java Socket发送消息 每条消息包含多张图片的有关问题
  详细解决方案

java Socket发送消息 每条消息包含多张图片的有关问题

热度:8958   发布时间:2013-02-25 21:38:29.0
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();        }            }
  相关解决方案