| 发表于:2007-04-02 23:30:375楼 得分:0 |
还按字节发送啊,发送完文本, 发送一个标志位,再开始发送别一个文件,就是图片, 关键客户端与服务器端要同步,就是一个文件发送完毕,发送端再发一个标志位,表明这个文件已经结束, 比如 client : string data =null; datainputstream din = new datainpputstream(mysocket.getinputstream(); dataoutputstream dout = new dataoutputstream(mysokcet.getoutputstream()); bufferedinputstream bin = new bufferedinputstream(new fileinputstream(file file)); dout.writeutf(file.getname());// 通知接收端文件名 dout.writelong(file.length());//通知拉收端文件大小 while((data = bin.readline()) != null) { dout.writeutf(data); dout.writeint(0); } dout.writeint(1); // 文件结束,输出标志位 // 发送下一个文件 server: datainputstream din = new datainpputstream(mysocket.getinputstream(); dataoutputstream dout = new dataoutputstream(mysokcet.getoutputstream()); bufferedoutputstream bin = new bufferedoutputstream( new fileinputstream(din.readutf())); long filelen = din.readlong();//文件大小 int temp; while((data = din.readutf()) != null) { bin.writeutf(data); if((temp = dint.readint()) == 1) break; } bin.close(); // 文件结束 // 接收下一个文件 参考下 | | |
|