62,635
社区成员




ServerSocket ss = new ServerSocket(10000);
Socket socket = ss.accept();
//输出和输入流
ObjectOutputStream oos = new ObjectOutputStream(
socket.getOutputStream());
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
//商品的集合
List<Goods> goods = new ArrayList<Goods>();
//添加一个商品
goods.add(new Goods(1, "北方", 10));
//new 一个数据传输类
Datas data = new Datas();
//将商品列表放进传输类当中
data.obj = goods;
//在服务端打印商品列表
pirntList(goods);
//将数据传输类发送给客户端
oos.writeObject(data);
//发送完成后修改服务端的商品列表中的商品数量
System.out.println("发送给客户端后修改数量");
goods.get(0).count = 20;
//重新发送
data.obj = goods;
//再次打印
pirntList(goods);
//再次发送给客户端
oos.writeObject(data);
//等待客户端
Thread.sleep(10000000);
Socket socket = new Socket("localhost", 10000);
ObjectInputStream ois = new ObjectInputStream(socket.getInputStream());
ObjectOutputStream oos = new ObjectOutputStream(
socket.getOutputStream());
//用来接收商品的列表
List<Goods> goods = null;
//读取服务端发送过来的Datas
Datas data = (Datas) ois.readObject();
//将Datas中的obj转换成商品列表
goods = (List<Goods>) data.obj;
System.out.println("第一次的列表:");
//打印
pirntList(goods);
//再次读取服务端发送过来的Datas
data = (Datas) ois.readObject();
//这次是服务端修改后的商品列表
goods = (List<Goods>) data.obj;
System.out.println("第二次的列表:");
pirntList(goods);
public class Datas implements Serializable{
public Object obj = null;
}