Antes de comenzar, verifique la IP de su máquina dentro de su red:
$ ifconfig
Navegue hasta el archivo TCPClient.Dockerfile
y cambie la dirección HOST_TCP_SERVER
a su IP, línea 7.
Haga lo mismo con el archivo UDPClient.Dockerfile
y cambie la dirección HOST_UDP_SERVER
a su IP, línea 7.
Aquí se explicará cómo ejecutar el servidor y el cliente TCP.
Para iniciar el contenedor que será responsable de ejecutar el servidor, ejecute los siguientes comandos:
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-server -f TCPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 12345:12345 tcp-server:latest
-d
hará que el contenedor se ejecute en modo detached
.-p 12345:12345:
hace que Docker exponga el puerto 12345
del contenedor a su computadora, por lo que el servicio será visible a través de otras interfaces de red dentro de su máquina. Para iniciar el contenedor que se encargará de ejecutar el rol de cliente, ejecute los siguientes comandos:
sd@sd:~ $ cd tcp/
sd@sd:~ $ docker build -t tcp-client -f TCPClient.Dockerfile .
sd@sd:~ $ docker run tcp-client:latest
client
solo se conectará a nuestro servidor ejecutado previamente, no expondrá ningún recurso. Y como no expone ningún recurso, este contenedor no expone ningún puerto.Cuando se ejecuta, este contenedor debería producir un resultado similar al siguiente:
Time: 0.735 m/s
Time: 0.208 m/s
Time: 0.278 m/s
Time: 0.210 m/s
Time: 0.311 m/s
Time: 0.221 m/s
Time: 0.271 m/s
Time: 0.225 m/s
Time: 0.106 m/s
Time: 0.173 m/s
Tempo médio: 0.274 m/s
Desvio padrão: 0.172
Tempo máximo: 0.735 m/s
Tempo mínimo: 0.106 m/s
Aquí se explicará cómo ejecutar el servidor y el cliente UDP.
Para iniciar el contenedor que será responsable de ejecutar el servidor, ejecute los siguientes comandos:
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-server -f UDPServer.Dockerfile .
sd@sd:~ $ docker run -d -p 54321:54321/udp udp-server:latest
-d
hará que el contenedor se ejecute en modo detached
.-p 54321:54321/udp
hace que Docker exponga el puerto 54321
del contenedor a su computadora, por lo que el servicio será visible a través de otras interfaces de red dentro de su máquina.-p 54321:54321/udp
usamos /udp
, esto es necesario porque, de forma predeterminada, Docker mantiene una comunicación TCP
y en este caso necesitamos que sea una comunicación UDP
. Para iniciar el contenedor que se encargará de ejecutar el rol de cliente, ejecute los siguientes comandos:
sd@sd:~ $ cd udp/
sd@sd:~ $ docker build -t udp-client -f UDPClient.Dockerfile .
sd@sd:~ $ docker run udp-client:latest
client
solo se conectará a nuestro servidor ejecutado previamente, no expondrá ningún recurso. Y como no expone ningún recurso, este contenedor no expone ningún puerto.Cuando se ejecuta, este contenedor debería producir un resultado similar al siguiente:
From server: Hi, Client. Ok!
Time: 0.174 m/s
From server: Hi, Client. Ok!
Time: 0.116 m/s
From server: Hi, Client. Ok!
Time: 0.086 m/s
From server: Hi, Client. Ok!
Time: 0.080 m/s
From server: Hi, Client. Ok!
Time: 0.074 m/s
From server: Hi, Client. Ok!
Time: 0.091 m/s
From server: Hi, Client. Ok!
Time: 0.065 m/s
From server: Hi, Client. Ok!
Time: 0.098 m/s
From server: Hi, Client. Ok!
Time: 0.081 m/s
From server: Hi, Client. Ok!
Time: 0.107 m/s
Tempo médio: 0.097 m/s
Desvio padrão: 0.031
Tempo máximo: 0.174 m/s
Tempo mínimo: 0.065 m/s