Laboratorio 2 - Pruebas Locales - 2 clientes

Laboratorio 2 - Pruebas Locales - 2 clientes

de Sandino Nuñez Acuña -
Número de respuestas: 4

Hola, 


Una consulta, quizá algún compañero, o algún docente sepa si hay alguna forma de ejecutar 2 clientes con distintas IPs de un mismo programa (si conocen alguna forma ya sea en python o C). 

Consulto esto, porque por ej. para los mensajes de Announce se manda al broadcast de la Red, esto quiere decir que debe llegarle a todas las PCs que estén en la red, para esto precisamos correr 2 programas con IPs distintas dentro de la misma Red. 

Como lo hicimos fue usar VirtualBox (aprovechando el Obligatorio 1) y corrimos un programa cliente en la maquina virtual y otro en nuestro Host y ahi funcionó. Nos pareció bien y lógico, pero quizá hay una forma de hacerlo sin levantar una maquina virtual (que es muy pesado y consume muchos recursos del host).


Muchas gracias.


Saludos.

En respuesta a Sandino Nuñez Acuña

Re: Laboratorio 2 - Pruebas Locales - 2 clientes

de Juan Ramirez -

Buenas,

Yo te recomiendo usar docker y docker-compose Con ésto podés tener un ambiente de N aplicaciones corriendo en su propia red. 


También te permite hacer port forwarding desde la máquina base a cada uno de estos "containers" para poder entrarle por telnet. 


Este esquema es mucho más liviano que el de utilizar la VM porque solo levanta el proceso que te interesa (en este caso tu app).


Update: Con docker-compose no necesitas configurar varios servicios, solo necesitas configurar uno y luego correr docker-compose up --scale nombre_servicio=N (con N > 1).

En respuesta a Sandino Nuñez Acuña

Re: Laboratorio 2 - Pruebas Locales - 2 clientes

de Jorge Visca -

Si, es razonable.

Si les resulta muy pesado pueden intentar con Docker como comenta el comenta Juan, o usar una máquina virtual de Linux más liviana, como por ejemplo un Linux sin manejador de ventanas o incluso OpenWRT (una distribución de Linux mínima).


Otra manera aún más liviana es crear varias interfaces de red virtuales interconectadas por un bridge: https://wiki.archlinux.org/index.php/Network_bridge

Eso les permitiría levantar una instancia de su programa en cada interfaz virtual, y que estas se vean como si estuvieran directamente conectadas.

En respuesta a Jorge Visca

Re: Laboratorio 2 - Pruebas Locales - 2 clientes

de Sandino Nuñez Acuña -

Buena, gracias Jorge, eso de interfaces virtuales bridge no lo sabíamos, se podrá hacer en el host? Si tuvimos que hacer una interface Bridge en la Maquina virtual, pero no sabíamos en el host se podría o sea cada instancia corre en una interfaz virtual y el Bridge lo que hace es que se vean como en una misma subred ? 

Vamos a investigar mas al respecto.


Gracias.