Comment créer Java socket qui est localhost seulement?
J'ai un serveur Java qui s'ouvre un socket à l'aide de ServerSocket (à l'aide de l'Épargne avec elle). Ce serveur a un client sur la machine locale en Obj-c, qui communique avec le serveur Java. Tout se passe sur localhost. Maintenant le serveur java est visible sur le réseau, ainsi, je voudrais que le serveur java pour être accessibles uniquement sur localhost. Sinon, c'est un problème de sécurité potentiel et il freaks utilisateurs lors de leur pare-feu avertit.
J'ai essayé de créer le socket serveur à l'aide d'un InetSocketAddress('localhost', 9090) mais qui ne semble pas avoir d'effet. Comment puis-je limiter cette chose à localhost?
- Si le serveur est accessible seulement sur localhost, comment les clients y accéder? Je ne comprends pas l'installation.
- Cochez cette question et les réponses données: Comment déterminer une connexion entrante est à partir de la machine locale
- citant la question: "Ce serveur a un client sur la machine locale ... Tout se passe sur localhost".
Vous devez vous connecter pour publier un commentaire.
Pris d'une autre question:
InetAddress.getByName(null)
points à l'adresse de bouclage (127.0.0.1)Et voici la Javadoc où il est dit que
InetAddress.getLoopbackAddress()
Essayer
Le dernier paramètre du constructeur spécifie l'adresse de lier la socket d'écoute de.
Permettez-moi de carillon avec une solution alternative qui accepte uniquement sur le périphérique de bouclage. Tous les autres "localhost" solutions fera Java choisir une interface.
Il est disponible depuis Java 7, et de ne même pas jeter
UnknownHostException