gpt4 book ai didi

Java序列化不同的对象

转载 作者:行者123 更新时间:2023-11-30 03:05:36 24 4
gpt4 key购买 nike

我想做一个小型网络游戏,由两个客户端互相发送消息。我对套接字和序列化很陌生,但我读到通过套接字发送序列化对象是可行的方法。

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

在教程中我总是读类似的内容

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

它对我放入另一侧流中的一个特定类进行强制转换。

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

stream.peekObject() 

或者其他东西来查看它的类型。

或者是发送两条消息的常见方式,而第一个消息只是一个声明,告诉接下来会发生什么?但是,如果某些包混淆并且下一个对象不是我要求的对象,会发生什么情况?

那么客户端之间沟通的最佳方式是什么?移动对象并创建对象(或写入消息等)?

感谢您的帮助!

最佳答案

只需将对象作为对象读取,然后使用 instanceof 来查看它是什么类型。

或者让所有对象都实现一个带有操作方法的公共(public)接口(interface),然后转换为该接口(interface)并调用该方法。

关于Java序列化不同的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com