我想做一个小型的网络游戏,其中有两个客户端互相发送消息。我是套接字和序列化的新手,但我读到通过套接字发送序列化的对象是这样做的。
我的问题是,我有多种消息。一个可能是简单的聊天消息,另一个可能是“ NewObjectMessage”或“ MoveObjectMessage”之类的消息(消息)...
在教程中,我总是读到类似
MyClass myClass = (MyClass) objectinputstream.readObject();
这对我放在另一侧的特定类进行了强制转换。
问题是:有什么方法可以确定我收到哪种消息?我正在寻找类似的东西
stream.peekObject()
或其他东西以查看其类型。
还是发送两种消息的通用方法,而第一种只是声明,说明接下来会发生什么?但是,如果有些软件包混淆了,而下一个对象不是我要的那个对象,会发生什么呢?
那么,例如在移动对象和创建对象(或编写消息等)的方式下,客户端之间进行通信的最佳方式是什么?
谢谢你的帮助!
只需将对象读取为对象,然后使用它instanceof
即可查看其类型。
或者让对象全部使用操作方法实现公共接口,然后将其强制转换为接口并调用该方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句