JSON/XML-RPC 通过 TCP 和消息框架
JSON/XML-RPC over TCP and Message Framing
我在考虑 JSON/XML-RPC 通过 HTTP 还是通过 TCP。在 HTTP 的情况下,HTTP 请求和响应提供消息框架机制。但是,由于 TCP 是一个流,
- RPC 消息是如何构建的?
- RPC 规范是否规定了这一点?
- 是否有任何其他标准定义框架机制?
- 是否有一种机制比另一种更常用?
在发明框架机制之前,我正试图对此进行衡量。
有很多框架标准,HTTP 就是其中之一。 Websocket 是另一个,在 HTTP 之上,更适合双向流。
JSON-RPC 2.0 故意不关心传输。
(1.0 有一些传输细节,在新版本中被删除了。)
RFC 7484 为“JSON 文本序列”提供了框架标准:https://www.rfc-editor.org/rfc/rfc7464
摘要:每个 JSON 消息都以 0x1E
字节为前缀(不能在 JSON 消息中未转义)并以 0x0A
为后缀(换行)。
但是请注意,这不是 JSON-RPC 规范的一部分。有些库支持它作为其 JSON-RPC 实现的一部分。
我在考虑 JSON/XML-RPC 通过 HTTP 还是通过 TCP。在 HTTP 的情况下,HTTP 请求和响应提供消息框架机制。但是,由于 TCP 是一个流,
- RPC 消息是如何构建的?
- RPC 规范是否规定了这一点?
- 是否有任何其他标准定义框架机制?
- 是否有一种机制比另一种更常用?
在发明框架机制之前,我正试图对此进行衡量。
有很多框架标准,HTTP 就是其中之一。 Websocket 是另一个,在 HTTP 之上,更适合双向流。
JSON-RPC 2.0 故意不关心传输。
(1.0 有一些传输细节,在新版本中被删除了。)
RFC 7484 为“JSON 文本序列”提供了框架标准:https://www.rfc-editor.org/rfc/rfc7464
摘要:每个 JSON 消息都以 0x1E
字节为前缀(不能在 JSON 消息中未转义)并以 0x0A
为后缀(换行)。
但是请注意,这不是 JSON-RPC 规范的一部分。有些库支持它作为其 JSON-RPC 实现的一部分。