67,513
社区成员
发帖
与我相关
我的任务
分享
ServerSocket ss = new ServerSocket(11111);
Socket s = ss.accept();
InputStream is = s.getInputStream();
DataInputStream dis = new DataInputStream(is);
long dataLen = dis.readLong();
long dataSum = 0;
int dataTmplen = 0;
byte[] data=new byte[0];
byte[] dataTmp = new byte[1024];
while ((dataTmplen = is.read(dataTmp)) != -1) {
dataSum += dataTmplen;
data = ByteArrayUtil.addBytes(data, dataTmp, dataTmplen);//拼接byte数组
if (dataSum == dataLen) {
break;
}
}
System.out.println(dataLen);
Socket socket = new Socket("127.0.0.1", 11111);
OutputStream os = socket.getOutputStream();
// 字符串转byte[]
FileInputStream fis = new FileInputStream(new File("D:\\文档\\本科备份\\照片.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
new BASE64Encoder().encode(fis, baos);
byte[] data = baos.toByteArray();
baos.reset();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeLong(data.length);
byte[] dataLen = baos.toByteArray();
byte[] sendData = ByteArrayUtil.addBytes(dataLen, data, data.length);
// 发送数据长度(4字节)+数据
os.write(sendData);
os.flush();
os.close();
socket.close();