RPC通信原理与详细代码

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

RPC通信原理与详细代码1、RPC(全拼:Remote PRocedure Call)远程过程调用协议,是一种通过网络从远程电脑程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,例如http或TCP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层使得RPC在开发包活网络分布式多程序在内的应用程序时更加的方便,容易。

RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务端进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息的到来,最后客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。

2、源码例子

Interface:

1 public interface Barty{2 public static final long versionID = 10010;3 public String sayHello(String name);4 }

RPCServer:

public class RPCServer implements Barty{ public static void main(String[] args) throws Exception{ Server server = new RPC.Builder(new Configuration()) .setInstance(new RPCServer()) .setBindAddress("192.168.8.100") .setPort(5566) .setProtocol(Barty.class) .build(); server.start(); } @Override public String sayHello(String name){ return "Hello~"+name; }}

RPCClient:

public class RPCClient{ public static void main(String[] args){ Barty proxy = RPC.getProxy(Barty.class,10010 ,new InetSocketAddress("192.168.8.100",9527) ,new Configuration()); String sayHello = proxy.sayHello("World"); System.out.println(sayHello); }}

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航