如果服务器代码在您手中,您还可以通过提供自定义RMISocketFactory来限制RMI使用预定义端口,如下所述: http://insidecoffe.blogspot.com/2012/02/firewall-friently-rmi-port-fixing.html
(特别注意如果并行使用JMX可能会导致问题的提示)
还没有深入了解我的自我,但在环顾四周寻找我正在做的项目时,我来到了这里 LipeRMI 。
您可能希望看一下它,因为它面向互联网使用,并提到“以这种方式影响客户端,他们可以在本地网络,路由器或防火墙后面;”
编辑:
想起了我曾经遇到过的另一个实现 RMI Doves 1.0:Java RMI防火墙问题的解决方案 你可能也希望看一下那个。
在您的服务器中放置如下代码:
RmiInterface stub = (RmiInterface) UnicastRemoteObject.exportObject(rmi, 35400); LocateRegistry.createRegistry(1099); Naming.rebind("//192.168.102.128:1099/rmi", stub);
看到 http://java.sun.com/javase/6/docs/technotes/guides/rmi/faq.html#firewall