我使用以下方式发送案例类:
tcpActor ! Tcp.Write(MyCaseClass(arg1: Class1, arg2: Class2).data)
然后我收到了:
case Tcp.Receive(data: ByteString)
有没有简单的方法来匹配MyCaseClass上的数据而不使用低级别的java序列化程序?
答案 0 :(得分:2)
我不确定akka是否提供了反序列化二进制数据的任何工具,到目前为止我还没有找到。一个很好的选择是使用scodec,这似乎非常好并且在scala生态系统中很受欢迎。顺便说一句,您使用的.data
方法在哪里被序列化定义?
答案 1 :(得分:1)
您的选择:
1.使用Akka远程处理直接发送案例类
2.使用Java序列化
3.使用https://github.com/scala/pickling
4.编写自己的消息协议以在案例类和字节串之间进行转换
选择最适合您用例的内容。