Question

Nous écrivons une application de bureau basé sur HTTP qui exécute client à partir de l'extérieur de notre NAT. Code Nous et le test à l'intérieur du NAT. Le serveur HTTP se trouve au sein de notre NAT (oui, il est mauvaise conception du réseau). Quelle serait la meilleure méthode Java pour détecter automatiquement lorsque le client HTTP lance à partir et passer l'adresse IP du serveur approprié (par exemple NAT interne ou externe)?

server_ip = 0.0.0.0
if(inside_nat())
   server_ip = 192.168.0.*
else
   server_ip = 202.13.14.15

Besoin d'une implémentation Java de insider_nat ()

Était-ce utile?

La solution 2

Nous avons résolu cela avec une entrée DNS dans notre serveur Windows Small Business (qui est utilisé comme DNS par défaut local). Le nom Java à la résolution IP est utilisée pour trouver l'adresse IP correspondante où le mappage de port est utilisé et les ports internes et externes diffèrent.

Autres conseils

Je ne pense pas que vous pouvez le faire depuis votre application java. Vous pouvez utiliser un nom DNS qui serait résolu différemment par le serveur DNS interne que l'externe (global).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top