RPC是远程进程调用(远程过程调用)的缩写形式,它是分布式系统中不同节点之间的一种流行通信方法。
完整的RPC体系结构包含四个核心组件,即客户端,服务器,客户端存根和服务器存根。该存根可以理解为根。
GO语言RPC软件包的路径是NET/RPC。可以猜测,RPC软件包是基于Net软件包。BELOW我们尝试基于RPC的打印示例。
首先构建一种helloservice类型,用于实现打印功能的Hello方法:
服务器
Hello方法必须符合GO语言的RPC规则:
该功能调用将在对象类型中注册所有对象方法,以满足RPC规则作为RPC函数,所有注册方法将放置在“ HelloService”服务空间下。
创建一个唯一的TCP链接,并通过RPC.ServeConn函数在TCP链接上为另一方提供RPC服务。
客户代码要求helloservice服务:
通过rpc.dial拨打RPC服务,然后通过client.call.call.call.call.call拨打特定的RPC方法,第一个参数是RPC服务名称的名称和方法名称链接点号链接,第二个参数第三参数我们定义了RPC方法的两个参数。
打开服务器并打开客户端。客户端的执行结果如下: