我必须为双方,服务器和客户端编写程序(客户端和服务器可能具有不同的位置)。双方使用RMI相互通信。但我猜RMI在不同子网上的计算机上不起作用,因为RMI使用套接字。我想知道如何设置一个网络,使得不同网络上的两台计算机看起来在同一个子网上,RMI可以工作或者我可以解决这个问题的任何其他方式。我之前遇到套接字问题,我在这里是该主题的链接。
这不是家庭作业/学校项目,我正在为我的大学开发这个软件。
答案 0 :(得分:0)
我猜RMI在不同子网上的计算机上不起作用,因为RMI使用套接字。
你错了。
只要子网有相互通路并且相应的端口打开,它们就可以通过套接字进行通信而不会出现问题。
对于RMI,通常仅表示端口1099,并采取必要步骤以确保在该端口上导出所有远程对象。通过LocateRegistry.createRegistry()。
还需要内存中的注册表您之前的帖子无关紧要,因为它只涉及无效的IP地址。如果您认为它构成了您对子网和套接字的奇怪主张,请再想一想。