Commit a86da3fa authored by DANIEL DIAZ SANCHEZ's avatar DANIEL DIAZ SANCHEZ
Browse files

Update README.md

parent 6de9fe06
[English version] (https://gitlab.pervasive.it.uc3m.es/aptel/sockets3_concurrent_servers_polling_select/blob/master/README_EN.md)
[English version](README_EN.md)
# Servidores concurrentes con el API de sockets
......@@ -28,7 +28,7 @@ En muchas ocasiones es recomendable emplear algún mecanismo que nos permita rea
En esta práctica dispone de todos los ficheros necesarios para probar un servidor concurrente. Para descargarlo, usa el siguiente comando:
```
git -c http.sslVerify=false clone https://gitlab.pervasive.it.uc3m.es/aptel/sockets3_concurrent_servers_polling_select.git
git clone https://gitlab.gast.it.uc3m.es/aptel/sockets3_concurrent_servers_polling_select.git
```
### La función `fcntl()` y los mecanismos de polling
......@@ -53,7 +53,7 @@ De esta forma ya sabemos cómo activar que las operaciones de lectura y escritur
> Cuando el socket no es bloqueante, si al realizar una operación de lectura o escritura ésta no se puede completar, la llamada devuelve un error (`-1`) y le asignará a la variable `errno` el valor `EWOULDBLOCK` (de todas formas, recordad, que es necesario comprobar el número de bytes que devuelven estas llamadas, porque no siempre coincide con el número de bytes que queríamos leer o escribir). Así, para saber cuando existen datos disponibles se suele utilizar un mecanismo de "encuesta", denominado polling, en el que se consulta continuamente cuándo existen datos disponibles y si no los hay, se realizan otras tareas.
### 1. Utilizando el código de la [práctica 3](https://gitlab.pervasive.it.uc3m.es/aptel/sockets2_concurrent_servers) modifica el cliente para que se puedan realizar operaciones de entrada/salida no bloqueantes, y emplea un mecanismo de polling para saber si existen datos disponibles cuando se realizan operaciones de lectura.
### 1. Utilizando el código de la [práctica 3](https://gitlab.gast.it.uc3m.es/aptel/sockets2_concurrent_servers) modifica el cliente para que se puedan realizar operaciones de entrada/salida no bloqueantes, y emplea un mecanismo de polling para saber si existen datos disponibles cuando se realizan operaciones de lectura.
Para ver este comportamiento, haz que se imprima en pantalla un contador, que se incremente cada vez que el programa tiene que esperar por los datos que devuelve el servidor (operación de lectura). Compila el código y ejecútalo utilizando el servidor de eco concurrente de la práctica anterior.
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment