用于java代码的socket网络设置,以便不同网络/位置上的两台计算机可以使用RMI
我必须为服务器和客户端编写一个程序(客户端和服务器可能有不同的位置)。双方使用RMI相互通信。但我猜当计算机在不同的子网上时,RMI不起作用,因为RMI使用socket。我想知道如何设置一个网络,使不同网络上的两台计算机似乎位于同一子网中,并且RMI可以工作,或者以任何其他方式解决此问题。我以前遇到过socket问题,这里是线程的链接
这不是一个家庭作业/学校项目,我正在为我的大学开发这个软件
你可以在下面搜索框中键入要查询的问题!
我必须为服务器和客户端编写一个程序(客户端和服务器可能有不同的位置)。双方使用RMI相互通信。但我猜当计算机在不同的子网上时,RMI不起作用,因为RMI使用socket。我想知道如何设置一个网络,使不同网络上的两台计算机似乎位于同一子网中,并且RMI可以工作,或者以任何其他方式解决此问题。我以前遇到过socket问题,这里是线程的链接
这不是一个家庭作业/学校项目,我正在为我的大学开发这个软件
# 1 楼答案
你猜错了
只要子网彼此之间有一条路由,并且相应的端口打开,它们就可以通过套接字进行通信,而不会出现问题
在RMI的情况下,这通常意味着只有端口1099,并采取必要的步骤确保所有远程对象都在该端口上导出。还需要通过LocaterRegistry在内存中注册。createRegistry()
您之前的线程与此无关,因为它只涉及无效的IP地址。如果你认为这证明了你关于子网和套接字的奇怪说法,那就再想想