来自 ByteString 的反序列化案例 class

Deserialization case class from ByteString

我发送案例 class 使用:

tcpActor ! Tcp.Write(MyCaseClass(arg1: Class1, arg2: Class2).data)

然后我收到了:

case Tcp.Receive(data: ByteString)

有没有什么简单的方法可以在不使用低级 java 序列化程序的情况下匹配 MyCaseClass 上的数据?

我不确定 akka 是否提供任何反序列化二进制数据的工具,目前我还没有找到。一个不错的选择是使用 scodec,它看起来非常好并且在 Scala 生态系统中很受欢迎。顺便问一下,您用来序列化的 .data 方法在哪里定义?

您的选择:
1.使用Akka remoting直接发送案例类
2.使用Java序列化
3.使用https://github.com/scala/pickling
4. 编写自己的消息协议,在大小写类和字节串

之间进行转换

选择最适合您的用例。