Busindre » Blog Archive » Escuchar en un mismo puerto desde distintas IP's (Java + GNU/Linux)

Escuchar en un mismo puerto desde distintas IP's (Java + GNU/Linux)

December 31st, 2007 by Busindre

De nuestro amigo Andrés González mostramos una forma de poder escuchar con dos ips distintas un mismo puerto. El truco está en usar una ip distinta para cada proceso. Por ejemplo, si ejecutamos:

#ifconfig eht0:0 192.168.1.1
#ifconfig eht0:1 192.168.1.2

Tendremos dos ip's virtuales, a parte de la que ya tenga la máquina.

Si ejecutamos el siguiente código java:

InetAddress ip1 = InetAddress.getByName("192.168.1.1");
InetAddress ip2 = InetAddress.getByName("192.168.1.2");

ServerSocket ss1 = new ServerSocket(14000,0,ip1);
ServerSocket ss2 = new ServerSocket(14000,0,ip2);

Thread.sleep(12000);
System.exit(0);

Tendremos dos servidores escuchando en el puerto 14000, cada uno en una
ip distinta. Podemos ejecutar en una consola:

#telnet 192.168.1.1 14000
Trying 192.168.0.211...
Connected to 192.168.0.211.
Escape character is '^]'.

Y en otra consola:

#telnet 192.168.1.2 14000
Trying 192.168.0.211...
Connected to 192.168.0.211.
Escape character is '^]'.

También he probado a arrancar dos mysql's sobre el mismo puerto y distinta ip virtual y funciona.

Posted in How To |

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.