如果我想在我的RMI应用程序中启用“双向”通信(即允许服务器调用客户端的方法以及客户端调用服务器的方法),那么最简单的方法是将客户端也变成一个远程类吗?
另外,如果我打算将客户端实例作为方法参数传递给服务器,那么我是否正确地认为不需要将“客户端类”添加到rmiregistry中?
最后一个问题,我的所有类是否仍然需要编译在同一个位置?例如,我可以在两个完全独立的机器上编译服务器和客户端,并期望它们能够正常通信吗?
*编辑*
还有一个问题,我的问题提到了我的客户端接口(IClient):它有一个数组列表(所以我有ArrayList < IClient>)来存储客户端的新实例,以便服务器可以跟踪注册的客户端。当我尝试在不同的机器上编译服务器时,它会抱怨找不到IClient - 很明显,因为IClient在客户端机器上。我该如何解决这个问题?
另外,如果我打算将客户端实例作为方法参数传递给服务器,那么我是否正确地认为不需要将“客户端类”添加到rmiregistry中?
最后一个问题,我的所有类是否仍然需要编译在同一个位置?例如,我可以在两个完全独立的机器上编译服务器和客户端,并期望它们能够正常通信吗?
*编辑*
还有一个问题,我的问题提到了我的客户端接口(IClient):它有一个数组列表(所以我有ArrayList < IClient>)来存储客户端的新实例,以便服务器可以跟踪注册的客户端。当我尝试在不同的机器上编译服务器时,它会抱怨找不到IClient - 很明显,因为IClient在客户端机器上。我该如何解决这个问题?