我有以下伪代码:
public void sendPB(ObjectId userId, Message.Builder mb) {
if (userId is logged in to server) {
set mb.ackId to random chars
lookup socket and send mb.build()
}
else {
forward message to user's server via RMI
}
}
问题是 Message.Builders 没有实现 Serializable,所以你不能直接通过 RMI 发送它。
是否有捷径可寻?
我已经尝试从构建器构建部分 PB 并将其发送过来,但是为了重建它,您需要知道类型或描述符。Descriptor 也不实现 Serializable。
谢谢