• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: PRC  

资源简介

rpc实例 完美测试通过,如果有疑问请留言。。。。。。。。。

资源截图

代码片段和文件信息

package client;

import java.io.objectInputStream;
import java.io.objectOutputStream;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.InetSocketAddress;
import java.net.Socket;

public class RPCClient {  
    @SuppressWarnings(“unchecked“)  
    public static  T getRemoteProxyObj(final Class serviceInterface final InetSocketAddress addr) {  
        // 1.将本地的接口调用转换成JDK的动态代理,在动态代理中实现接口的远程调用  
        return (T) Proxy.newProxyInstance(serviceInterface.getClassLoader() new Class[] { serviceInterface }  
                new InvocationHandler() {  
                    public object invoke(object proxy Method method object[] args) throws Throwable {  
                        Socket socket = null;  
                        objectOutputStream output = null;  
                        objectInputStream input = null;  
                        try {  
                            // 2.创建Socket客户端,根据指定地址连接远程服务提供者  
                            socket = new Socket();  
                            socket.connect(addr);  
  
  
                            // 3.将远程服务调用所需的接口类、方法名、参数列表等编码后发送给服务提供者  
                            output = new objectOutputStream(socket.getOutputStream());  
                            output.writeUTF(serviceInterface.getName());  
                            output.writeUTF(method.getName());  
                            output.writeobject(method.getParameterTypes());  
                            output.writeobject(args);  
  
  
                            // 4.同步阻塞等待服务器返回应答,获取应答后返回  
                            input = new objectInputStream(socket.getInputStream());  
                            return input.readobject();  
                        } finally {  
                            if (socket != null)  
                                socket.close();  
                            if (output != null)  
                                output.close();  
                            if (input != null)  
                                input.close();  
                        }  
                    }  
                });  
    }  
}  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2018-01-12 09:51  RPC\.classpath

     文件        379  2018-01-12 09:51  RPC\.project

     文件        598  2018-01-12 09:51  RPC\.settings\org.eclipse.jdt.core.prefs

     文件       2154  2018-01-12 10:08  RPC\bin\client\RPCClient$1.class

     文件       1140  2018-01-12 10:08  RPC\bin\client\RPCClient.class

     文件        915  2018-01-12 11:03  RPC\bin\client\RPCTest$1.class

     文件       1107  2018-01-12 11:03  RPC\bin\client\RPCTest.class

     文件        171  2018-01-12 10:03  RPC\bin\services\HelloService.class

     文件        674  2018-01-12 10:03  RPC\bin\services\impl\HelloServiceImpl.class

     文件       3144  2018-01-12 10:06  RPC\bin\services\impl\ServiceCenter$ServiceTask.class

     文件       2463  2018-01-12 10:06  RPC\bin\services\impl\ServiceCenter.class

     文件        296  2018-01-12 10:04  RPC\bin\services\Server.class

     文件       2338  2018-01-12 10:08  RPC\src\client\RPCClient.java

     文件       1105  2018-01-12 11:03  RPC\src\client\RPCTest.java

     文件         87  2018-01-12 10:03  RPC\src\services\HelloService.java

     文件        198  2018-01-12 10:03  RPC\src\services\impl\HelloServiceImpl.java

     文件       3052  2018-01-12 10:06  RPC\src\services\impl\ServiceCenter.java

     文件        268  2018-01-12 10:04  RPC\src\services\Server.java

     目录          0  2018-01-12 11:04  RPC\bin\services\impl

     目录          0  2018-01-12 11:04  RPC\src\services\impl

     目录          0  2018-01-12 11:04  RPC\bin\client

     目录          0  2018-01-12 11:04  RPC\bin\services

     目录          0  2018-01-12 11:04  RPC\src\client

     目录          0  2018-01-12 11:04  RPC\src\services

     目录          0  2018-01-12 11:04  RPC\.settings

     目录          0  2018-01-12 11:04  RPC\bin

     目录          0  2018-01-12 11:04  RPC\src

     目录          0  2018-01-12 11:04  RPC

----------- ---------  ---------- -----  ----

                20390                    28

............此处省略1个文件信息

评论

共有 条评论