2014-07-04 65 views
0

我必须为双方,服务器和客户端(客户端和服务器可能有不同的位置)编写程序。双方使用RMI相互沟通。但是我猜RMI在不同子网上的计算机上不起作用,因为RMI使用套接字。我想知道如何设置一个网络,使不同网络上的两台计算机看起来在同一个子网上,并且RMI可以工作,或者我可以用任何其他方式解决这个问题。我有套接字以前的问题,我这里是线程的链接。java代码的网络设置,使不同网络/位置上的两台计算机可以使用RMI

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

not able to connect through socket

回答

0

我猜RMI不工作时,电脑上不同的子网络,作为RMI使用套接字。

你猜错了。

只要子网具有彼此的路由并且相应的端口是开放的,它们就可以通过套接字进行通信而没有问题。

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

您之前的线程无关紧要,因为它只涉及无效的IP地址。如果你认为它构成了你对子网和套接字的奇怪声明的证明,那么再想一想。

+0

感谢您的rply。我在我的计算机实验室中使用了套接字和RMI,它们在我的大学实验室的计算机上工作良好,但是当我尝试在其他地方运行相同的代码时,它无法工作。所以我认为这个问题对于RMI和套接字来说是一样的。我试过一次使用LocateRegistry.createRegistry()代码,它仍然有一些我无法解决的问题。但我会尽快重试并发布结果。 – rbh

相关问题