import java.io.Serializable;public class Person implements Serializable {    private String name;    private int age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public String toString() {        return "Person{"+                "name'"+name+'\''+                ",age="+age+'}';    }}
import java.io.*;import java.net.DatagramPacket;import java.net.DatagramSocket;public class ObjectTypeServer {    public static void main(String[] args) {        DatagramSocket datagramSocket = null;        ObjectInputStream objectInputStream = null;        try{            datagramSocket = new DatagramSocket(9999);            byte[] bytes = new byte[1024];            DatagramPacket datagramPacket = new DatagramPacket(bytes,bytes.length);            //对接收的内容作类型转换            objectInputStream = new ObjectInputStream(new ByteArrayInputStream(datagramPacket.getData()));            System.out.println(objectInputStream.readObject());        }catch (Exception e){            e.printStackTrace();        }finally {            if(datagramSocket!=null){                datagramSocket.close();            }            if(objectInputStream!=null){                try {                    objectInputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}
import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;public class ObjectTypeClient {    public static void main(String[] args) {        DatagramSocket datagramSocket = null;        ByteArrayOutputStream byteArrayOutputStream = null;        ObjectOutputStream objectOutputStream = null;        try{            Person person = new Person();            person.setAge(25);            person.setName("老耿");            byteArrayOutputStream = new ByteArrayOutputStream();            objectOutputStream = new ObjectOutputStream(byteArrayOutputStream);            objectOutputStream.writeObject(person);            byte[] arr = byteArrayOutputStream.toByteArray();            DatagramPacket datagramPacket = new DatagramPacket(arr,arr.length,new InetSocketAddress("127.0.0.1",9999));            datagramSocket=new DatagramSocket(8888);            datagramSocket.send(datagramPacket);        }catch(Exception e){            e.printStackTrace();        }finally {            if(datagramSocket!=null){                datagramSocket.close();            }            if(objectOutputStream!=null){                try {                    objectOutputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }            if(byteArrayOutputStream!=null){                try {                    byteArrayOutputStream.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}