似乎是一个非常直截了当的问题,但我在谷歌上找不到直接答案。
我在两个进程之间通过 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消息的一部分。