Connectez deux prises client

Disons que Java a deux types de sockets:

  • serveur de sockets "ServerSocket"
  • sockets client ou tout simplement de "Socket"

Imaginer la situation de deux processus:

X = Client
Y = Serveur

Le processus de serveur de Y : a "ServerSocket", qui est à l'écoute sur un port TCP
Le processus client X : envoie une demande de connexion par le biais d'un "Socket" pour Y.

Y: Alors la accept() méthode renvoie un nouveau client de type "Socket",
lorsque cela se produit, les deux Douilles d'obtenir "interconnectés",

Donc: la prise en processus client est connecté avec le support dans le processus serveur.
Ensuite: la lecture/écriture par le biais de prise X, c'est comme la lecture/écriture par le biais de prise Y.
Maintenant, deux Client Sockets obtenir interconnectés!!

Mais...
Que faire si je créer les deux sockets Client dans le même processus,
et je veux les faire "interconnectés" ?

... même possible?

Disons comment avoir deux socket client obtenir reliés entre eux sans l'aide d'un intermédiaire ServerSocket?

Je l'ai résolu par la création de deux Threads en continu, la lecture de l'Un et de l'écriture B,
et d'autres pour la lecture B et en écriture...
Mais je pense pourrait être une meilleure façon...
(Ceux du monde de consommation d'énergie threads ne sont pas nécessaires avec l'approche client-serveur)

De l'aide ou des conseils seraient appréciés!! Grâce


Edit:

Exemple d'application: "Un existant de l'application serveur peut être converti en un seul client",
Par exemple, le serveur VNC, un socket client se connecte au serveur VNC, et d'autres client socket est créée (pour se connecter à un milieu serveur), alors l'application relie les deux client résultant le serveur VNC est un client demande! Et puis, pas d'IP publique est nécessaire.

VNCServer---MyApp---> |moyen| serveur <---l'Utilisateur

source d'informationauteur Hernán Eche