2017-07-09 2 views
0

J'ai une structure de serveur client. Le serveur expose un service avec RMI, disons que c'est: RemoteInterfaceA. Le service est régulièrement exporté en utilisant UnicastRemoteObject.exportObject(service, port) et lié dans le registre RMI.Can UnicastRemoteObject peut être exporté, puis passé en argument

Le serveur doit cependant mettre à jour quelque chose dans le client afin que le client crée également un RemoteInterfaceB, il l'exporte en utilisant UnicastRemoteObject.exportObject(update, port). Il ne peut cependant pas créer de Registre (car contrairement au serveur, il n'est pas accessible depuis Internet). Pour donner au serveur son talon de mise à jour, je passe la mise à jour en tant qu'argument d'une méthode de service (RemoteInterfaceA).

Cela fonctionnera-t-il?

+1

Il est à noter que, avec cette configuration, le client est également considéré comme un serveur et devrait être considéré comme un seul en termes d'accessibilité. – user1803551

Répondre

1

Cela fonctionnera si les pare-feu le permettent. Comme vous dites que le client n'est pas accessible depuis Internet, ce ne sera pas pour vous. Le serveur obtiendra un NetworkUnreachableException ou un délai d'attente de connexion lorsqu'il essayera de rappeler le client.