假设我想在2个使用TCP套接字的Java程序之间发送许多消息。
我认为最方便的方法是发送如下对象:
PrintStream ps = new PrintStream(s.getOutputStream());
ObjectOutputStream oos = new ObjectOutputStream(ps);
some_kind_of_object_here;
oos.writeObject(some_kind_of_object_here);
ps.print(oos);
我想发送,字符串,数字,哈希映射,布尔值
如何使用可以存储所有属性的fx 1对象来执行此操作?
我认为arraylist是可序列化的,我们可以把所有东西都放在那里,但不是优雅的方式。
我想发送不同类型的数据,因为用户可以从服务器可以为其执行的各种选项中进行选择。
有什么建议吗?
最佳答案
师父,你知道你可以通过一个套接字将任何可序列化的对象发送到另一个jvm,是吗?
如果是这样,最简单的方法就是让一个包含所有对象的可序列化对象,然后将其转发。对象列表可能是最简单的。然后可以在另一端反序列化它,并以任何需要的方式处理列表中的对象。
我建议你阅读Java中的序列化技术,这样你就知道你能做的所有聪明的事情。
http://java.sun.com/javase/7/docs/technotes/guides/serialization/index.html