通过tcp传输对象
?
Server.java
import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server {/** * @param args */public static void main(String[] args) throws Exception {final int PORT = 2000;Person person = new Person();ServerSocket server = new ServerSocket(PORT);System.out.println("Server listen port: " + PORT);Socket socket = server.accept();ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());person.id = 1;person.name = "Paul";person.age = 30;person.sex = SEX.MALE;person.data[0] = 0;person.data[1] = 1;person.data[person.data.length - 2] = person.data.length - 2;person.data[person.data.length - 1] = person.data.length - 1;for (int i = 0; i < 1000; i++) {oos.writeObject(person);System.out.println(person);oos.reset();person.id++;person.age++;}oos.flush();oos.close();socket.close();server.close();}}Client.java
import java.io.ObjectInputStream;import java.net.Socket;public class Client {/** * @param args */public static void main(String[] args) throws Exception {final int PORT = 2000;Person person;Socket socket = new Socket("127.0.0.1", PORT);ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());for (int i = 0; i < 1000; i++) {person = (Person) ois.readObject();System.out.println(person);}ois.close();socket.close();}}Person.java
import java.io.Serializable;public class Person implements Serializable {private static final long serialVersionUID = -8409611229326504290L;public long id;public String name;public int age;public SEX sex;public int[] data = new int[65536];public String toString() {return "ID: " + id + "\n" + "NAME: " + name + "\n" + "AGE: " + age+ "\n" + "SEX: " + sex + "\n" + "DATA: " + data[0] + " "+ data[1] + " " + data[data.length - 2] + " "+ data[data.length - 1] + "\n";}}enum SEX {MALE, FEMALE};