Java UDP 编程,通过Datagram传输list

我有一个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就能序列化,将一个协议封装成一个类,只要在前面加上这个类的类型和长度,然后接收方只要序列化一个类就可以,而不是多个,只要你不是指针对象就可以(据说也能处理)...