我有一个UDP服务端和客户端, 一旦客户端连接上服务端,服务端就把一个电影list发送到客户端。我的问题是现在不知道怎么把list在Datagram里面转。我的理解是首先要在服务端把list转换成byte,发送Datagram给客户端,然后客户端接受Datagram再转换成list回来,是这样吗?请问怎么实现?以下是我list的代码,谢谢。希望有点例子。
serve端:
List<Movie> mlist = new ArrayList<Movie>();
Movie m1 = new Movie("vampire", 1);//movie name and id
Movie m2 = new Movie("white house", 2);
mlist.add(m1);
mlist.add(m2);
for (Movie m : mlist) {
//我想下面这句话在client端显示
System.out.println("id: " + m.getId() + " " + "name: "
+ m.getName());
}
是的,这就是传说中的序列化与反序列化
一个大类,里面有vector<>,list<>等成员,boost就能序列化,将一个协议封装成一个类,只要在前面加上这个类的类型和长度,然后接收方只要序列化一个类就可以,而不是多个,只要你不是指针对象就可以(据说也能处理)...