Java序列化不同的对象

托比亚斯·赖希(Tobias Reich)

我想做一个小型的网络游戏,其中有两个客户端互相发送消息。我是套接字和序列化的新手,但我读到通过套接字发送序列化的对象是这样做的。

我的问题是,我有多种消息。一个可能是简单的聊天消息,另一个可能是“ NewObjectMessage”或“ MoveObjectMessage”之类的消息(消息)...

在教程中,我总是读到类似

MyClass myClass = (MyClass) objectinputstream.readObject();

这对我放在另一侧的特定类进行了强制转换。

问题是:有什么方法可以确定我收到哪种消息?我正在寻找类似的东西

stream.peekObject() 

或其他东西以查看其类型。

还是发送两种消息的通用方法,而第一种只是声明,说明接下来会发生什么?但是,如果有些软件包混淆了,而下一个对象不是我要的那个对象,会发生什么呢?

那么,例如在移动对象和创建对象(或编写消息等)的方式下,客户端之间进行通信的最佳方式是什么?

谢谢你的帮助!

用户名

只需将对象读取为对象,然后使用它instanceof即可查看其类型。

或者让对象全​​部使用操作方法实现公共接口,然后将其强制转换为接口并调用该方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

序列化对象Java

来自分类Dev

Java序列化对象与非序列化对象

来自分类Dev

Java对象序列化嵌套对象

来自分类Dev

Java对象序列化嵌套对象

来自分类Dev

Java序列化。不同的参考

来自分类Dev

用Java序列化Canvas对象

来自分类Dev

Java序列化和重复对象

来自分类Dev

Java的Apache Spark对象序列化

来自分类Dev

Java序列化和对象处理

来自分类Dev

克隆可序列化对象-JAVA

来自分类Dev

Java可序列化对象

来自分类Dev

JMS序列化器使用不同视图序列化对象中的对象

来自分类Dev

尝试序列化对象时出现“与对象不同”错误

来自分类Dev

反序列化不同对象的列表

来自分类Dev

Django REST框架:不同序列化对象的列表?

来自分类Dev

反序列化不同对象类型的数组

来自分类Dev

XML反序列化不同对象C#

来自分类Dev

Django REST Framework:不同序列化对象的列表?

来自分类Dev

使用不同的程序包名称在不同的应用程序中反序列化Java对象

来自分类Dev

反序列化Java对象中的通用对象

来自分类Dev

不同API级别上的Java序列化和反序列化

来自分类Dev

Java序列化

来自分类Dev

序列化Java对象而不实现可序列化接口

来自分类Dev

在mapDb中序列化和反序列化对象-Java

来自分类Dev

根据当序列化对象的Java静态反序列化的差异

来自分类Dev

在 Java 中序列化和反序列化对象时出现 bufferedImage 错误

来自分类Dev

从内部序列化对象

来自分类Dev

未知对象的序列化

来自分类Dev

序列化实体对象