反序列化由 C# 在 Java 中生成的兔子 MQ 消息

我有一个C#中的兔子MQ数据服务,并“fout”了一些消息。子参数/客户端在 Java 中。我可以接收消息,我知道如何在C#中反序列化,但我不知道如何将消息反序列化为对象。在爪哇语中。


C# 序列化:


byte[] message;

BinaryFormatter bf = new BinaryFormatter();

using (var ms = new MemoryStream())

{

    bf.Serialize(ms, updateMessage);

    message = ms.ToArray();

}

C# 反序列化:


MyObject message = null;

using (var memStream = new MemoryStream())

{

    var binForm = new BinaryFormatter();

    memStream.Write(body, 0, body.Length);

    memStream.Seek(0, SeekOrigin.Begin);

    message = (MyObject)binForm.Deserialize(memStream);

}

爪哇接收器:


@RabbitListener(queues = queueName)

public void receive(??? message ) {

    // deserailize message right here

    // btw, I do not know what type of received message should be initialized.

}


HUH函数
浏览 59回答 1
1回答

慕莱坞森

反序列化 Java 中随 序列化的对象。NET的二进制序列化器构建不可能没有很大的困难(您必须自己实现反序列化器)。最简单的选择是使用基于文本的序列化选项,例如 JSON 和 XML。有很多关于如何在C#和Java中执行此操作的教程。如果您需要使用二进制格式,则需要查看一些选项,这些选项将是Google的协议缓冲区或apache节俭。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java