Socket之序列化(用来传输对象的)
**序列化:**能够让Java对象,通过流在网络世界中进行传输。
implements Serializable 实现序列化接口
1.Object传一个对象给客户端
商品信息代码
import java.io.Serializable;
//商品信息实体类
//实现这个接口,就代表做了序列化
public class Goods implements Serializable{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Goods() {
super();
// TODO Auto-generated constructor stub
}
public Goods(int id, String name) {
super();
this.id = id;
this.name = name;
}
@Override
public String toString() {
return "Goods [id=" + id + ", name=" + name + "]";
}
}
客户端代码
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class DemoObjectServer {
//发送一个对象给客户端
public static void main(String[] args) throws IOException {
Goods goods1 = new Goods(1,"apple");
//当有客户端连接服务端的时候
//发送我的商品信息给对方
//构建ServerSocket等待连接
ServerSocket ss = new ServerSocket(8888);
System.out.println("等待连接......");
//来了连接就需要发送一个对象给对方
Socket server = ss.accept(