似乎是一个非常直截了当的问题,但我在谷歌上找不到直接答案。
我在两个进程之间通过 UDP 有一个简单的 IPC 通道。每条消息都包装在一个标头类中(例如,数据驱动的)。
前任。
enum Type
{
HELLO,
BYE,
LISTEN,
}
class Message
{
Type type;
Object data;
}
这Message
就是我发送给ObjectOutputStream writeObject
. 这适用于没有data
有效负载的消息(例如HELLO
和BYE
)。但是,该LISTEN
消息将data
属性设置为自定义类(具有所有 POD 类型),并且它似乎永远不会到达其他进程。当我readObject
在另一边时,我什么也得不到。
所以我的问题是我是否需要一个工具writeObject
并readObject
在我的Message
班级和/或data's
班级类型内部?
--- 更新 1 ---
是的,Message
类型和底层data
类型都有implements Serializable
,所有的 Eclipse 都是serialVersionUID
为我生成的。这足够了吗?我仍然没有看到data
消息的一部分。