我的JAVA工具之网络传输对象

来源:互联网 发布:淘宝双11秒杀在哪里找 编辑:程序博客网 时间:2024/06/09 15:49
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;

public class Tet {
    public static void main(String[] args) {
        new Server().start();
        new Client().start();
    }

}


class TestVO implements Serializable {
    private String name;
    private int id;

    public TestVO(int id, String name) {
        super();
        this.id = id;
        this.name = name;
    }


    public String toString() {
        return "id:" + id + " name:" + name;
    }

}


class Client extends Thread {
    public void run() {
        try {
            Socket client = new Socket("localhost", 8888);
            ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
            TestVO vo = (TestVO) ois.readObject();
            System.out.println("client read:" + vo);
            ois.close();
            client.close();
        }
 catch (Exception e) {
            // TODO: handle exception
            e.printStackTrace();
        }

    }

}


class Server extends Thread {
    public void run() {
        try {
            ServerSocket ss = new ServerSocket(8888);
            Socket server = ss.accept();
            ObjectOutputStream oos = new ObjectOutputStream(server.getOutputStream());
            TestVO vo = new TestVO(1, "good job");
            oos.writeObject(vo);
            System.out.println("server write:" + vo);
            oos.close();
            server.close();
            ss.close();
        }
 catch (Exception e) {
            // TODO: handle exception
        }

    }

}

输出:
server write:id:1 name:good job
client read:id:1 name:good job