gpt4 book ai didi

java - 通过套接字发送对象,但不同语言的客户端,如何使对象序列化?

转载 作者:行者123 更新时间:2023-12-01 05:23:40 25 4
gpt4 key购买 nike

我有一个 Java 服务器,它将 java 可序列化对象发送到我的客户端,并接收 java 可序列化对象以供执行。如果我的客户端也是用java编写的,那就太好了,这样我就可以在任何问题中进行沟通。

但是现在,我想将我的程序扩展到不仅仅是java客户端,客户端可以用C,objective C,python或php编写。所以,我想做一些事情来“转换”客户端对java对象的请求,然后发送回服务器。在 convent 过程中,我可以使用 JSON 来接收并构造一个 Java 对象到服务器,但我还需要一个层将 Java 对象转换回 JSON 到客户端。

我的问题是除了制作一个 JSON-Java 翻译层之外,还有其他方法吗?此外,我们可以在服务器端更改一些代码,但我们必须使用 Java 作为我们的主要语言。有什么建议么?谢谢。

最佳答案

我使用 Netty API 来设计我的协议(protocol),如果您能理解类似 NIO 的字节和缓冲区 API,那么这样做会很快。它的设计是为了使用可以满足您需求的编码器和解码器的概念,有很多用于压缩、使用 ssl 的编码器和解码器的默认实现...

您遇到的问题似乎是这样的: JBoss Netty with JSON

我不太了解 JSON,但大多数时候也可以快速轻松地设计自己的协议(protocol)。

您是否需要针对任何类型的对象的通用序列化过程,或者您是否只需要序列化一些字符串和基本类型(整数、短整型、浮点型等)?对于简单对象,自己进行包装既简单又快捷。

如果对象非常简单,我猜情况就是如此,那么您需要它来设计自己的“协议(protocol)”规范,这意味着如何将每个对象转换为原始类型、字符串和数组的序列。用每种语言编写编码器和解码器应该很容易。

祝你好运

关于java - 通过套接字发送对象,但不同语言的客户端,如何使对象序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com