Post on 14-Jul-2022
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Tema 2: Interacción Mediante MensajesPAD - Curso 2005/06
E. Domínguez
Departamento de Tecnologías y Sistemas de InformaciónEscuela Superior de Informática
Universidad de Castilla - La Mancha
Octubre de 2005
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Índice
1 La Primitiva select
2 Servidores Concurrentes Monoproceso
3 Servidores Multiprotocolo y Superservidores
4 El Interfaz de Programación Winsock
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Tema 2: Interacción mediante Mensajes
Sesión 6:Otros Tópicos de Programación con Sockets
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Resumen de Contenidos de la Sesión Anterior
En la sesión anterior hemos vistoClases de servidoresAlgoritmos para los servidores iterativosAlgoritmos para los servidores concurrentes multiproceso
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Índice
1 La Primitiva select
2 Servidores Concurrentes Monoproceso
3 Servidores Multiprotocolo y Superservidores
4 El Interfaz de Programación Winsock
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 1
i n t s e l e c t ( i n t n , fd_se t ∗ readfds ,fd_se t ∗wr i t e fds , fd_se t ∗exceptfds ,struct t imeva l ∗ t imeout ) ;
n: El valor del descriptor más alto de los utilizados en losdistintos conjuntos de los siguientes argumentos más 1readfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para lecturawritefds: Un puntero a un conjunto de descriptores quedebe ser vigilado para escrituraexceptfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para situaciones de excepción
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 1
i n t s e l e c t ( i n t n , fd_se t ∗ readfds ,fd_se t ∗wr i t e fds , fd_se t ∗exceptfds ,struct t imeva l ∗ t imeout ) ;
n: El valor del descriptor más alto de los utilizados en losdistintos conjuntos de los siguientes argumentos más 1readfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para lecturawritefds: Un puntero a un conjunto de descriptores quedebe ser vigilado para escrituraexceptfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para situaciones de excepción
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 1
i n t s e l e c t ( i n t n , fd_se t ∗ readfds ,fd_se t ∗wr i t e fds , fd_se t ∗exceptfds ,struct t imeva l ∗ t imeout ) ;
n: El valor del descriptor más alto de los utilizados en losdistintos conjuntos de los siguientes argumentos más 1readfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para lecturawritefds: Un puntero a un conjunto de descriptores quedebe ser vigilado para escrituraexceptfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para situaciones de excepción
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 1
i n t s e l e c t ( i n t n , fd_se t ∗ readfds ,fd_se t ∗wr i t e fds , fd_se t ∗exceptfds ,struct t imeva l ∗ t imeout ) ;
n: El valor del descriptor más alto de los utilizados en losdistintos conjuntos de los siguientes argumentos más 1readfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para lecturawritefds: Un puntero a un conjunto de descriptores quedebe ser vigilado para escrituraexceptfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para situaciones de excepción
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 1
i n t s e l e c t ( i n t n , fd_se t ∗ readfds ,fd_se t ∗wr i t e fds , fd_se t ∗exceptfds ,struct t imeva l ∗ t imeout ) ;
n: El valor del descriptor más alto de los utilizados en losdistintos conjuntos de los siguientes argumentos más 1readfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para lecturawritefds: Un puntero a un conjunto de descriptores quedebe ser vigilado para escrituraexceptfds: Un puntero a un conjunto de descriptores quedebe ser vigilado para situaciones de excepción
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 2
timeout; Un puntero a una estructura de tipo timeval paraindicar cuánto tiempo como máximo se desea que selectpermanezca boqueado si no hay cambios de estado en lossockets de los conjuntos a vigilarSe devuelve el número de descriptores en los que huboalguna actividad, o cero si se superó el tiempo límite y -1en caso de error. Los conjuntos de sockets, a la salida deselect son modificados y contienen sólo los sockets en losque ha habido alguna actividad
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
La Primitiva select - Parte 2
timeout; Un puntero a una estructura de tipo timeval paraindicar cuánto tiempo como máximo se desea que selectpermanezca boqueado si no hay cambios de estado en lossockets de los conjuntos a vigilarSe devuelve el número de descriptores en los que huboalguna actividad, o cero si se superó el tiempo límite y -1en caso de error. Los conjuntos de sockets, a la salida deselect son modificados y contienen sólo los sockets en losque ha habido alguna actividad
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Índice
1 La Primitiva select
2 Servidores Concurrentes Monoproceso
3 Servidores Multiprotocolo y Superservidores
4 El Interfaz de Programación Winsock
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Servidores Concurrentes Monoproceso
Se puede usar select para manejar la concurrencia que esnecesario mantener en algunos servidores sin crearprocesos suplementariosEsa solución puede usarse en servicios sobre TCP en losque la conversación con el cliente puede ser larga (esoimpide que el servicio pueda darse iterativamente) pero laformación de cada respuesta del servidor lleva pocotiempo
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Servidores Concurrentes Monoproceso
Se puede usar select para manejar la concurrencia que esnecesario mantener en algunos servidores sin crearprocesos suplementariosEsa solución puede usarse en servicios sobre TCP en losque la conversación con el cliente puede ser larga (esoimpide que el servicio pueda darse iterativamente) pero laformación de cada respuesta del servidor lleva pocotiempo
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Algoritmo de un Servidor Concurrente MonoprocesoOrientado a Conexión - Parte 1
Algoritmo - Parte 1
1: Crear un socket (socket maestro)2: Enlazarlo a la dirección en la que vaya a prestarse el
servicio3: Poner el socket a la escucha4: Incluir el socket maestro en un conjunto de descriptores
activos
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Algoritmo de un Servidor Concurrente MonoprocesoOrientado a Conexión - Parte 2
Algoritmo - Parte 21: loop2: Llamar a select con una copia de ese conjunto de
descriptores activos a vigilar en lectura3: if Ha habido actividad en el socket maestro then4: Manejar la actividad en el socket maestro5: end if6: if Ha habido alguna actividad en algún socket esclavo
then7: Manejar la actividad en el socket esclavo8: end if9: end loop
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Algoritmo de un Servidor Concurrente MonoprocesoOrientado a Conexión - Parte 3
Manejar la actividad en el socket maestro1: Aceptar nueva conexión de un cliente creando un socket
esclavo2: Incluir el socket esclavo en el conjunto de descriptores
activos
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Algoritmo de un Servidor Concurrente MonoprocesoOrientado a Conexión - Parte 4
Manejar la actividad en el socket esclavo1: Tratar el servicio2: if La petición fue cerrar la conexión then3: Cerrar el socket esclavo4: Eliminarlo del conjunto de descriptores activos5: end if
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Índice
1 La Primitiva select
2 Servidores Concurrentes Monoproceso
3 Servidores Multiprotocolo y Superservidores
4 El Interfaz de Programación Winsock
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Servidores Multiprotocolo
Organización del código
La técnica anterior puede usarse para manejar unconjunto de dos sockets maestros, uno para cadaprotocolo de transporte de un determinado servicioCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Servidores Multiprotocolo
Organización del código
La técnica anterior puede usarse para manejar unconjunto de dos sockets maestros, uno para cadaprotocolo de transporte de un determinado servicioCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Servidores Multiprotocolo
Organización del código
La técnica anterior puede usarse para manejar unconjunto de dos sockets maestros, uno para cadaprotocolo de transporte de un determinado servicioCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Superservidores
Organización del código
La técnica anterior puede usarse también para manejar unconjunto de sockets maestros, cada uno asociado a unservicio y a un protocolo de transporteCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Superservidores
Organización del código
La técnica anterior puede usarse también para manejar unconjunto de sockets maestros, cada uno asociado a unservicio y a un protocolo de transporteCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Superservidores
Organización del código
La técnica anterior puede usarse también para manejar unconjunto de sockets maestros, cada uno asociado a unservicio y a un protocolo de transporteCuando se registre actividad en uno de los sockets seprocederá como en el caso anterior para atender lapetición del cliente creando una nueva conexión en el casode TCP y atendiendo al cliente sobre ella, o, en el casoUDP atendiendo directamente la petición del clienteEn ambos casos puede ser creado un proceso si se deseaatender el diálogo con el cliente concurrentemente
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Índice
1 La Primitiva select
2 Servidores Concurrentes Monoproceso
3 Servidores Multiprotocolo y Superservidores
4 El Interfaz de Programación Winsock
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
El Interfaz de Programación Winsock
ParticularidadesEs una adaptación del interfaz BSD Socket a lascaracterísticas del S. O. WindowsLa versión winsock 1.0 ha sido la más utilizada, aunque laversión 2.0 es la actualmente vigenteLos prototipos de las llamadas síncronas al interfaz sonligeramente diferentes para las llamadas síncronas, debidofundamentalmente a que los descriptores de archivo y losde los sockets no son del mismo tipo
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
El Interfaz de Programación Winsock
ParticularidadesEs una adaptación del interfaz BSD Socket a lascaracterísticas del S. O. WindowsLa versión winsock 1.0 ha sido la más utilizada, aunque laversión 2.0 es la actualmente vigenteLos prototipos de las llamadas síncronas al interfaz sonligeramente diferentes para las llamadas síncronas, debidofundamentalmente a que los descriptores de archivo y losde los sockets no son del mismo tipo
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
El Interfaz de Programación Winsock
ParticularidadesEs una adaptación del interfaz BSD Socket a lascaracterísticas del S. O. WindowsLa versión winsock 1.0 ha sido la más utilizada, aunque laversión 2.0 es la actualmente vigenteLos prototipos de las llamadas síncronas al interfaz sonligeramente diferentes para las llamadas síncronas, debidofundamentalmente a que los descriptores de archivo y losde los sockets no son del mismo tipo
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
El Interfaz de Programación Winsock. Cont.
ParticularidadesLas llamadas síncronas funcionan de modo totalmenteanálogo a las del interfaz BSDwinsock contiene llamadas asíncronas que se adaptanespecialmente a las características de Windows
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
El Interfaz de Programación Winsock. Cont.
ParticularidadesLas llamadas síncronas funcionan de modo totalmenteanálogo a las del interfaz BSDwinsock contiene llamadas asíncronas que se adaptanespecialmente a las características de Windows
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 1
HANDLE WSAAsyncGetHostByName(HWND hWnd,unsigned i n t wMsg,const char∗ name,char∗ buf ,i n t buf len) ;
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 2
hWnd: El manejador de ventana de la ventana que recibiráel mensaje de respuestawMsg: Tipo de mensaje que se recibirá cuando secomplete la peticiónneme: Un puntero a un string con el nombre del hostbuf: Un puntero a un buffer donde se depositará laestructura de tipo hostent que contendrá la respuestabuflen: Tamaño del buffer apuntado por buf
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 2
hWnd: El manejador de ventana de la ventana que recibiráel mensaje de respuestawMsg: Tipo de mensaje que se recibirá cuando secomplete la peticiónneme: Un puntero a un string con el nombre del hostbuf: Un puntero a un buffer donde se depositará laestructura de tipo hostent que contendrá la respuestabuflen: Tamaño del buffer apuntado por buf
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 2
hWnd: El manejador de ventana de la ventana que recibiráel mensaje de respuestawMsg: Tipo de mensaje que se recibirá cuando secomplete la peticiónneme: Un puntero a un string con el nombre del hostbuf: Un puntero a un buffer donde se depositará laestructura de tipo hostent que contendrá la respuestabuflen: Tamaño del buffer apuntado por buf
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 2
hWnd: El manejador de ventana de la ventana que recibiráel mensaje de respuestawMsg: Tipo de mensaje que se recibirá cuando secomplete la peticiónneme: Un puntero a un string con el nombre del hostbuf: Un puntero a un buffer donde se depositará laestructura de tipo hostent que contendrá la respuestabuflen: Tamaño del buffer apuntado por buf
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 2
hWnd: El manejador de ventana de la ventana que recibiráel mensaje de respuestawMsg: Tipo de mensaje que se recibirá cuando secomplete la peticiónneme: Un puntero a un string con el nombre del hostbuf: Un puntero a un buffer donde se depositará laestructura de tipo hostent que contendrá la respuestabuflen: Tamaño del buffer apuntado por buf
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 3
Se devuelve un manejador que servirá para identificar elmensaje de respuesta o un valor NULL para indicar que lallamada no ha podido ser cursadaSe recibirá más tarde en la ventana hWnd un mensaje conidentificador wMsg, que en su palabra corta contendrá elvalor de retorno de tipo HANDLE. En la palabra largacontendrá la longitud de la respuesta depositada en buf obien una indicación de error
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Llamadas Asíncronas: WSAAsyncGetHostByName.Parte 3
Se devuelve un manejador que servirá para identificar elmensaje de respuesta o un valor NULL para indicar que lallamada no ha podido ser cursadaSe recibirá más tarde en la ventana hWnd un mensaje conidentificador wMsg, que en su palabra corta contendrá elvalor de retorno de tipo HANDLE. En la palabra largacontendrá la longitud de la respuesta depositada en buf obien una indicación de error
E. Domínguez Tema 2
Puntos Desarrollados en la Sesión AnteriorLa Primitiva select
Servidores Concurrentes MonoprocesoServidores Multiprotocolo y Superservidores
El Interfaz de Programación WinsockResumen
Resumen de la Sesión
En esta sesión hemos vistoUso de la primitiva selectServidores concurrentes monoprocesoCaracterísticas del interfaz winsock
E. Domínguez Tema 2