gpt4 book ai didi

java - Java RMI 服务器在哪里监听?

转载 作者:行者123 更新时间:2023-11-30 03:26:48 28 4
gpt4 key购买 nike

我正在阅读一些与 Java RMI 相关的教程(其中之一 here ),我发现自己很难理解 RMI 服务器。

我启动一个 Java 主程序,并创建一个 UnicastRemoteObject,然后将该对象绑定(bind)到 RMI 注册表服务器中(按照教程进行操作)。之后Java Main程序在绑定(bind)后退出。

UnicastRemoteObject 的父类是 RemoteServer,我假设我创建的每个远程对象(也是 UnicastRemoteObject)都是一个 Java 进程(JVM) 监听一个匿名端口。

那么如果我有10个远程对象,那么我就占用了10个端口来服务客户端远程调用?这听起来不太对,但我实在找不到实际建立的RMI服务器在哪里,以及它会占用多少端口供远程客户端调用?

谁能详细解释一下这个东西是如何工作的?

最佳答案

I start a Java Main program, and create a UnicastRemoteObject, after that bind the object in the RMI registry server (follow the tutorial). After that the Java Main program exit after the binding.

不,不会。只要远程对象保持导出状态,它就会保持 Activity 状态。

The parent class of UnicastRemoteObject is RemoteServer, I assume every remote object (which is also UnicastRemoteObject) that I created is a Java process (JVM) that listening on one anonymous port.

没有。它是存在于当前 JVM 内部的一个 Java 对象。不是一个单独的过程。

So if I have 10 remote object, then I have 10 ports occupied to serve the client remote invocation?

没有。除非您指定端口,否则您将获得系统分配的端口。通常,该端口将在您从此 JVM 导出的所有远程对象之间共享。

This doesn't sound right

事实并非如此。

but I can't really find where is the RMI server that actually established and how many port it will occupy for the remote client invocation?

它位于 RMI 实现类的深处。

关于java - Java RMI 服务器在哪里监听?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com