2017-07-09 6 views
0

私はクライアントサーバー構造を持っています。サーバーはRMIでサービスを公開しています。それはRemoteInterfaceAです。サービスは、UnicastRemoteObject.exportObject(service, port)を使用して定期的にエクスポートされ、RMIレジストリでバインドされます。UnicastRemoteObjectをエクスポートして引数として渡すことができます

しかし、サーバーはクライアントで何かを更新する必要があります。クライアントはRemoteInterfaceBを作成し、UnicastRemoteObject.exportObject(update, port)を使用してエクスポートします。ただし、レジストリを作成することはできません(サーバーとは異なり、インターネットからは到達できません)。サーバーに更新スタブを与えるために、私はサービス(RemoteInterfaceA)メソッドの引数として更新を渡します。

正常に機能しますか?

+1

この設定では、クライアントもサーバーとみなされ、アクセシビリティの点では1つと考えるべきです。 – user1803551

答えて

1

ファイアウォールが許可されていれば動作します。クライアントがインターネットからアクセスできないと言うので、それはあなたのためではありません。クライアントがコールバックしようとすると、サーバーにはNetworkUnreachableExceptionまたは接続タイムアウトが発生します。

関連する問題