有没有办法使用java.net发送地图?

时间:2014-01-04 20:04:59

标签: java map io

我正在尝试让程序将Java中的Map发送给客户端。服务器使用以下代码:

Object r=(Object)WorldHandler.world;
Object y=(Object)WorldHandler.troops;
out.println(r);
out.println(y);

其中WorldHandler.troopsHashMap<Integer,HashMap<Integer,Troop>>WorldHandler.worldHashMap<Integer,HashMap<Integer,Block>>outserverSocket.accept()。然后客户端尝试接收它:

Object tMap=socketIn.readLine();
Map<Integer,Troop> j=new HashMap<Integer,Troop>();
j=(Map<Integer,Troop>)tMap;

我收到错误:

  

java.lang.ClassCastExceptionjava.lang.String无法投放到java.util.Map

j=(Map<Integer,Troop>)tMap;所在的行。我做错了,还是有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

你需要做好几件事:

  • 如何与客户沟通。通常,这可以是http请求,电子邮件,ftp等。
  • 与客户沟通的内容。您需要一种方法将对象映射到通信表单所期望的表单以及另一端的软件可以理解的表单。

在您继续之前,这需要到位。

一种入门方法是将您的对象自己映射到JSON字符串或使用第三方库,然后将其传输到客户端。如果这个起点不够好,那么你可以开始讨论什么需要更好。