package com.yzh;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Created by yanzhaohui on 2017/8/2.
*/
public class Provider {
public static void main(String[] args) {
try {
ServerSocket server = new ServerSocket(1234);
while(true){
Socket socket = server.accept();
//读取服务信息
ObjectInputStream input = new ObjectInputStream(socket.getInputStream());
String interfaceName = input.readUTF();//接口名称
String methodName = input.readUTF();//方法名称
Class<?>[] parameterTypes = (Class<?>[])input.readObject();
Object[] arguments = (Object[])input.readObject();
//执行调用
Class serviceInterfaceClass = Class.forName(interfaceName);//得到接口的class
//获取接口实现类
//Object service = services.get(interfaceName);//这里没有提供services对象。用new的方式代替
Object service = new SayHelloServiceImpl();
//获取要调用的方法
Method method = serviceInterfaceClass.getMethod(methodName,parameterTypes);
//执行方法
Object result = method.invoke(service,arguments);
//把结果返回给客户端
ObjectOutputStream output = new ObjectOutputStream(socket.getOutputStream());
System.out.println(result);
output.writeObject(result);
}
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
DEMO--RPC.zip (18个子文件)
DEMO
src
com
yzh
SayHelloService.java 247B
SayHelloServiceImpl.java 366B
Provider.java 2KB
Consumer.java 2KB
tcpIpRpc.iml 423B
.idea
misc.xml 463B
compiler.xml 709B
workspace.xml 30KB
.name 8B
encodings.xml 164B
modules.xml 357B
scopes
scope_settings.xml 143B
copyright
profiles_settings.xml 76B
vcs.xml 164B
out
production
tcpIpRpc
com
yzh
SayHelloService.class 179B
Provider.class 3KB
SayHelloServiceImpl.class 615B
Consumer.class 2KB
共 18 条
- 1
资源评论
天下式
- 粉丝: 3
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功