2011-01-09 4 views
1

Ce que je veux dire, c'est comme les serveurs sur les jeux vidéo. Vous pouvez exécuter une application et configurer un serveur sur votre ordinateur avec une adresse IP et un port. Par exemple, comment créer une application dans laquelle une application hôte configure une application disposant d'une adresse IP et d'un port, et un autre ordinateur qui a également accès à Internet peut saisir l'adresse IP et le port, et serait capable de communiquer avec l'hôte? Je veux dire une communication simple, comme l'envoi d'un boolean ou String.Communication via Internet en Java

Et y aurait-il des problèmes de sécurité à résoudre?

Répondre

1

Je suppose que je comprends le concept de votre question ... Vous voulez que deux ordinateurs se connectent via internet non? Si tel est le cas, alors vous devrez utiliser une chose appelée "sockets" qui font des connexions entre les ordinateurs. A propos du serveur, eh bien, pour commencer, le client doit toujours savoir ce que le serveur IP (IP direct ou par un DNS), puis vous pouvez connecter votre client à votre serveur. Il y a un tutoriel pour les sockets sur les pages Java: http://download.oracle.com/javase/tutorial/networking/sockets. A propos des problèmes de sécurité, vous devez vous assurer que votre serveur peut gérer tout ce qui vient du client (je veux dire tout), je veux dire, accepter tous les types de données supposées recevoir et nier tout ce qui ne l'est pas dire). Si vous avez cela en tête, il n'y a pas de problème (et bien sûr, le serveur doit aussi avoir un pare-feu pour contrôler les sockets, mais ce n'est pas à vous de décider).

+0

Merci. Très utile. –

0

En général, la chose que vous voulez probablement est un Socket. Les sockets vous permettent d'envoyer des octets à un point de terminaison via TCP ou UDP. Ceci est très bas niveau, cependant, et est un peu difficile parce que vous devez concevoir votre propre protocole d'application. Vous voudrez peut-être utiliser quelque chose qui offre plus d'abstraction. Les sockets Java exposent une interface de flux de sorte que vous pouvez simplement encoder des entiers sous forme de chaînes, par exemple, et les envoyer ligne par ligne, ou vous pouvez faire quelque chose de plus fantaisiste et plus efficace comme utiliser DataOutputStream pour l'envelopper.

0

La gestion des problèmes suivants peut améliorer la sécurité.

  1. Si vous avez un routeur, définissez différents ports pour le routage. Exemple: Si vous exécutez le serveur, par exemple sur le port 6001, mappez un port virtuel, disons 9001, qui sera exposé au public.

  2. DDos

  3. Restriction IP - Non, chaque utilisateur peut accéder à votre machine!

  4. L'activation du pare-feu de routeur gère la plupart des problèmes.