Java网络编程,用UDP传入一张图片到服务器,解析图片到项目的根目录中【诗书画唱】
使用UDP传入一张图片到服务器,服务器解析图片到项目的根目录中

package getIP;
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class UdpImgfuWuDuan {
public static void main(String[] args) throws Exception{
System.out.println("服务器启动了 ");
DatagramSocket DatagramSocket=new DatagramSocket(54321);
//创建接收数据的容器:
byte[] byteArray1=new byte[1024*60];
DatagramPacket DatagramPacket=
new DatagramPacket(byteArray1, byteArray1.length);
//堵塞性的接收数据:
System.out.println("服务器正在等待用户发送图片");
DatagramSocket.receive(DatagramPacket);
System.out.println("服务器接收了用户发送的图片");
//解析数据包:
byte[] byteArray2=DatagramPacket.getData();
int len1=DatagramPacket.getLength();
//将解析后的字节数组再转回图片:
ByteArrayInputStream ByteArrayInputStream=
new ByteArrayInputStream(byteArray2,0,len1);
FileOutputStream FileOutputStream=
new FileOutputStream("客户端发送的3.jpg");
//遍历byte数组:
byte [] byteArray3=new byte[1024];
int len2;
while((len2=ByteArrayInputStream.read(byteArray3))!=-1){
FileOutputStream.write(byteArray3,0,len2);
}
FileOutputStream.flush();
FileOutputStream.close();ByteArrayInputStream.close();
DatagramSocket.close();
}
}


package getIP;
import java.util.*;
import java.io.*;
import java.net.*;
public class UdpImgkeHuDuan {
public static void main(String[] args)throws Exception {
// 4.使用upd传入一张图片到服务器,服务器解析图片到项目的根目录中
// disiti();
//创建发送数据的对象
System.out.println("客户端启动");
DatagramSocket DatagramSocket=new DatagramSocket(12345);
//得到发送的数据并打包
FileInputStream FileInputStream=new FileInputStream("3.jpg");
ByteArrayOutputStream ByteArrayOutputStream
=new ByteArrayOutputStream();
//在读图片的同时将读取的内容写入到byte字节流里
byte[] byteArray1=new byte[1024];
int len;
while((len=FileInputStream.read(byteArray1))!=-1){
ByteArrayOutputStream.write(byteArray1,0,len);
}
ByteArrayOutputStream.flush();
byte[] byteArray2=ByteArrayOutputStream.toByteArray();
//将读取的数据转为字节数组
DatagramPacket DatagramPacket=new
DatagramPacket(byteArray2,byteArray2.length,
new InetSocketAddress("localhost",54321));
//发送数据
DatagramSocket.send(DatagramPacket);
DatagramSocket.close();
}
}



鼠标右键刷新后:
