publicclassServer { publicstaticvoid main(String[] args) { RpcServer server = new RpcServer(new RpcServerConfig()); server.register(CalcService.class, new CalcServiceImpl()); server.start(); } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
publicclass Client { public static void main(String[] args) { RpcClient client = new RpcClient(); CalcService service = client.getProxy(CalcService.class); int number1 = (int)(Math.random() * 100) + 1; int number2 = (int)(Math.random() * 100) + 1; int number3 = (int)(Math.random() * 100) + 1; int number4 = (int)(Math.random() * 100) + 1; intadd = service.add(number1, number2); int minus = service.minus(number3, number4);
System.out.println("number1 is: " + number1 + " and number2 is: " + number2); System.out.println("add number1 and number2 get: " + add); System.out.println("number3 is: " + number3 + " and number4 is: " + number4); System.out.println("minus number3 by number4 get: " + minus); } }
运行结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# Server 22:20:17.061 [main] INFO org.eclipse.jetty.util.log - Logging initialized @489ms to org.eclipse.jetty.util.log.Slf4jLog 22:20:17.194 [main] INFO rpc.gagaduck.server.ServiceManager - register service: rpc.gagaduck.test.CalcService minus 22:20:17.194 [main] INFO rpc.gagaduck.server.ServiceManager - register service: rpc.gagaduck.test.CalcService add 22:20:17.197 [main] INFO org.eclipse.jetty.server.Server - jetty-9.4.19.v20190610; built: 2019-06-10T16:30:51.723Z; git: afcf563148970e98786327af5e07c261fda175d3; jvm 1.8.0_381-b09 22:20:17.241 [main] INFO o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@4f063c0a{/,null,AVAILABLE} 22:20:17.754 [main] INFO o.e.jetty.server.AbstractConnector - Started ServerConnector@457e2f02{HTTP/1.1,[http/1.1]}{0.0.0.0:3000} 22:20:17.754 [main] INFO org.eclipse.jetty.server.Server - Started @1187ms 22:20:26.151 [qtp1798286609-32] INFO r.g.transport.HTTPTransportServer - client connect client connect 22:20:26.389 [qtp1798286609-32] INFO rpc.gagaduck.server.RpcServer - get request: Request(serviceDescriptor=ServiceDescriptor{clazz='rpc.gagaduck.test.CalcService', method='add', returnType='int', parameterTypes=[int, int]}, params=[1, 2]) 22:20:26.413 [qtp1798286609-32] INFO rpc.gagaduck.server.RpcServer - response client 22:20:26.452 [qtp1798286609-22] INFO r.g.transport.HTTPTransportServer - client connect client connect 22:20:26.452 [qtp1798286609-22] INFO rpc.gagaduck.server.RpcServer - get request: Request(serviceDescriptor=ServiceDescriptor{clazz='rpc.gagaduck.test.CalcService', method='minus', returnType='int', parameterTypes=[int, int]}, params=[10, 8]) 22:20:26.453 [qtp1798286609-22] INFO rpc.gagaduck.server.RpcServer - response client
1 2 3 4 5 6 7
# Client
22:26:07.439 [main] INFO r.g.client.RandomTransportSelector - connectserver: Peer(host=127.0.0.1, port=3000) number1 is: 70and number2 is: 28 add number1 and number2 get: 98 number3 is: 33and number4 is: 50 minus number3 by number4 get: -17