【golang】JSON-RPC:接口

锺离赤岩
2023-12-01

在这里,我们展示了一个示例,其中 Go 的接口 使得重构一些现有代码变得容易,使其更加灵活和可扩展。最初,标准库的RPC 包使用称为gob 的 自定义有线格式。对于特定的应用程序,我们希望使用JSON 作为替代有线格式。

我们首先定义了一对接口来描述现有有线格式的功能,一个用于客户端,一个用于服务器(如下所示)。

type ServerCodec interface {
 ReadRequestHeader(*Request) error
 ReadRequestBody(interface{}) error
 WriteResponse(*Response, interface{}) error
 Close() error
}

在服务器端,我们随后更改了两个内部函数签名以接受接口ServerCodec而不是我们现有的

 类似资料: