Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 客户端的存根文件是否重复(模拟)服务器端发生的所有操作_Java_Rmi_Stub - Fatal编程技术网

Java 客户端的存根文件是否重复(模拟)服务器端发生的所有操作

Java 客户端的存根文件是否重复(模拟)服务器端发生的所有操作,java,rmi,stub,Java,Rmi,Stub,客户端的存根文件是否重复(模拟)服务器端的所有进程。请解释存根在RMI中的作用以及它如何与RMI的其他文件交互?存根将方法调用(例如String sayHello(String who))转换为通过网络发送到RMI服务器的消息,然后等待服务器的响应,将其转换为方法的返回类型,然后返回。因此,存根的代码基本上是这样的(这不是真正的代码,只是让你了解一下): 服务器端的框架基本上做相同的事情,但处于相反的模式:它侦听来自客户端的消息,将消息转换为方法调用,然后调用实际的RMI对象,并通过网络将结果作

客户端的存根文件是否重复(模拟)服务器端的所有进程。请解释存根在RMI中的作用以及它如何与RMI的其他文件交互?

存根将方法调用(例如
String sayHello(String who)
)转换为通过网络发送到RMI服务器的消息,然后等待服务器的响应,将其转换为方法的返回类型,然后返回。因此,存根的代码基本上是这样的(这不是真正的代码,只是让你了解一下):


服务器端的框架基本上做相同的事情,但处于相反的模式:它侦听来自客户端的消息,将消息转换为方法调用,然后调用实际的RMI对象,并通过网络将结果作为响应发送。

ok,如果是,为什么我们要从包含web服务方法的java文件编译存根文件?我不明白你在问什么。您的问题是关于RMI,而不是web服务。存根特定于它所用于的远程接口。
public String sayHello(String who) {
    byte[] message = translateMethodCallToBytes("sayHello", who);
    byte[] response = sendMessageToServer(message);
    String result = extractReturnValueFromResponse(response);
    return result;
}