有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用于java代码的socket网络设置,以便不同网络/位置上的两台计算机可以使用RMI

我必须为服务器和客户端编写一个程序(客户端和服务器可能有不同的位置)。双方使用RMI相互通信。但我猜当计算机在不同的子网上时,RMI不起作用,因为RMI使用socket。我想知道如何设置一个网络,使不同网络上的两台计算机似乎位于同一子网中,并且RMI可以工作,或者以任何其他方式解决此问题。我以前遇到过socket问题,这里是线程的链接

这不是一个家庭作业/学校项目,我正在为我的大学开发这个软件

not able to connect through socket


共 (1) 个答案

  1. # 1 楼答案

    I guess RMI doesn't work when computers on different sub-net, as RMI uses sockets.

    你猜错了

    只要子网彼此之间有一条路由,并且相应的端口打开,它们就可以通过套接字进行通信,而不会出现问题

    在RMI的情况下,这通常意味着只有端口1099,并采取必要的步骤确保所有远程对象都在该端口上导出。还需要通过LocaterRegistry在内存中注册。createRegistry()

    您之前的线程与此无关,因为它只涉及无效的IP地址。如果你认为这证明了你关于子网和套接字的奇怪说法,那就再想想