Student.java
import java.io.Serializable;
public class Student implements Serializable{//Serializabale对象序列化,可以把对象存放到字节流用在网络上传输对象
int id;
String name;
int age;
String deparment;
public Student(int id,String name,int age,String deparment){
this.id=id;
this.name=name;
this.age=age;
this.deparment=deparment;
}
}
ObjectServer.java
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class ObjectServer{
public static void main(String[] args) throws Exception{
ServerSocket ss=new ServerSocket(8000);
Socket s=ss.accept();
OutputStream ops=s.getOutputStream();
ObjectOutputStream oos=new ObjectOutputStream(ops);
Student stu=new Student(22,"lisi",30,"computer");
oos.writeObject(stu);//写入对象到对象输出流对象
oos.close();
ops.close();
s.close();
ss.close();
}
}
ObjectClient.java
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.net.Socket;
public class ObjectClient{
public static void main(String[] args) throws Exception{
Socket s=new Socket("127.0.0.1",8000);
InputStream ips=s.getInputStream();
ObjectInputStream ois=new ObjectInputStream(ips);
Student stu=(Student)ois.readObject();
System.out.println(stu.id);
System.out.println(stu.name);
System.out.println(stu.age);
System.out.println(stu.deparment);
}
}