我正在研究用于加密 P2P 架构的低级 UDP 消息传递层,如果有兴趣,您可以阅读有关它的更多信息 on its github page 。
我已经构建了一个简洁的序列化框架,将 POJO 转换为紧凑的 ByteBuffer,以及使使用对称和非对称加密变得相当轻松的各种库。
我现在正在研究消息传递框架,它利用动态代理来实现与 GWT 的 RPC 机制类似的功能。
我的问题是早期我决定让序列化机制从 ByteBuffers 读取和写入。我现在发现这有几个问题:
任何人都可以建议在此框架中实现序列化的替代方法吗?
最佳答案
可能值得一看 KryoNet - 它可能符合您的需求,或者您可以看看他们如何在幕后做事。
顺便说一句,他们确实将 ByteBuffers 用于 TCP 和 UDP 连接。我认为诀窍是从 ByteBuffers 中抽象出来,以便任何客户端代码都可以与 POJO 一起工作。要做到这一点,您显然需要在某处拥有可以将大对象分解为多个缓冲写入的逻辑。
我认为您实际上仍然需要 ByteBuffers,因为它们非常快,支持各种 native 加速技巧,并且无论喜欢与否,最终您都需要在高吞吐量 IO 环境中处理缓冲......