我有一个客户端服务器结构。服务器使用RMI公开服务,我们说它是:RemoteInterfaceA
。该服务是使用UnicastRemoteObject.exportObject(service, port)
导出的,并绑定在RMI注册表中。
然而,服务器必须更新客户端中的内容,以便客户端创建RemoteInterfaceB
,然后使用UnicastRemoteObject.exportObject(update, port)
导出它。但它无法创建注册表(因为与服务器不同,它无法从Internet访问)。为了给服务器提供更新存根,我将更新作为服务(RemoteInterfaceA
)方法的参数传递。
它会起作用吗?
答案 0 :(得分:1)
它可以正常工作,防火墙允许。正如你所说客户无法通过互联网访问,它不会为你赢。当它尝试回调客户端时,服务器将获得NetworkUnreachableException
或连接超时。