tl;dr:有没有一种有效的方法来转换Java 和 C# 中的msgpack以通过 HTTP 传输。
我刚刚发现了 msgpack 数据格式。我几乎使用 JSON 在客户端和服务器之间发送的所有内容(使用 HTTP),所以我很想尝试这种格式。
我有 Java 库和 C# 库,但我想通过 HTTP 传输 msgpack。这是预期用途,还是更多用于本地格式?
我注意到几个 RPC 实现,但它们是完整的 RPC 服务器。
想法?
-谢恩
传输和编码是两个非常不同的东西,完全取决于您选择使用哪种传输和使用哪种数据编码,具体取决于您的应用程序的需要。通过 HTTP 发送 msgpack 数据是一个完全有效的用例并且是可能的,但请记住以下两点:
就实现而言,发送方必须先将您的 msgpack 对象序列化为 a byte[]
,然后再将其作为 HTTP 请求中的请求正文发送。您还需要将 HTTPContent-Type
设置application/x-msgpack
为。在接收端,从输入流中读取请求正文(您可能可以拿到 aByteArrayInputStream
并反序列化到您的 msgpack 对象中)。