## Programación de comunicaciones en red:
 -	Comunicación entre aplicaciones.
 -	Roles cliente y servidor.
 -	Elementos de programación de aplicaciones en red. Librerías.
 -	Sockets.
 -	Creación de sockets.
 -	Enlazado y establecimiento de conexiones.
 -	Utilización de sockets para la transmisión y recepción de información.
 -	Programación de aplicaciones cliente y servidor.
 -	Utilización de hilos en la programación de aplicaciones en red.

### Teoría de redes
* https://www.jesusninoc.com/12/16/programacion-de-comunicaciones-en-red-programacion-de-servicios-y-procesos/
* https://www.jesusninoc.com/11/13/cmdlets-for-tcpip-model-layers/

### Conceptos
- Peticiones a servidores (GET, POST, fuerza bruta)
- URL
- URL (GET y POST)
- Servicios (bombillas)
- Scraping
- Fuerza bruta https://github.com/jesusninoc/Seguridad/tree/master/GetPost
- Conexión TCP/IP entre distintos sistemas
- Proyecto de conexión remota
- Sockets TCP y UDP
- Serializar https://www.jesusninoc.com/07/05/serializar-y-deserializar-un-objeto-almacenado-en-un-fichero-en-kotlin/
- Serializar JSON https://www.jesusninoc.com/07/05/serializar-y-deserializar-ficheros-json-con-gson-en-kotlin/

### Ejercicios
#### Cliente y servidor para enviar objeto serializado por TCP en Kotlin (utilizando hilos)
* https://www.jesusninoc.com/07/05/cliente-y-servidor-para-enviar-objeto-serializado-por-tcp-en-kotlin-utilizando-hilos/
#### Enviar una imagen entre un cliente y un servidor utilizando sockets TCP en Kotlin 
* https://www.jesusninoc.com/07/06/enviar-una-imagen-entre-un-cliente-y-un-servidor-utilizando-sockets-tcp-en-kotlin/
#### MulticastSocket en Kotlin
* https://www.jesusninoc.com/07/07/multicastsocket-en-kotlin/
#### Enviar un mensaje TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA
* https://www.jesusninoc.com/11/27/enviar-un-mensaje-tcp-con-kotlin-desde-una-aplicacion-en-android-studio-a-un-servidor-en-intellij-idea/
#### Enviar la posición del cursor mediante TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA
* https://www.jesusninoc.com/11/27/enviar-la-posicion-del-raton-mediante-tcp-con-kotlin-desde-una-aplicacion-en-android-studio-a-un-servidor-en-intellij-idea/
#### Mover el ratón remotamente mediante TCP con Kotlin desde una aplicación en Android Studio a un servidor en IntelliJ IDEA
* https://www.jesusninoc.com/11/28/mover-el-raton-remotamente-mediante-tcp-con-kotlin-desde-una-aplicacion-en-android-studio-a-un-servidor-en-intellij-idea/

--------------
--------------

# Repaso
* https://www.jesusninoc.com/10/29/comunicacion-de-procesos-en-kotlin-el-padre-envia-al-hijo-una-palabra-y-el-hijo-le-indica-el-numero-de-letras-que-tiene-la-palabra/
* https://www.jesusninoc.com/10/29/comunicacion-de-hilos-en-kotlin-contar-el-numero-de-letras-de-varias-palabras/
* https://www.jesusninoc.com/10/30/contador-de-letras-en-palabras-utilizando-coroutines-en-kotlin/
* https://www.jesusninoc.com/10/29/comunicacion-utilizando-sockets-tcp-en-kotlin-contar-el-numero-de-letras-de-varias-palabras-que-manda-el-servidor-y-el-cliente-hace-la-operacion-de-contar/
* https://www.jesusninoc.com/10/29/comunicacion-utilizando-sockets-tcp-e-hilos-en-kotlin-contar-el-numero-de-letras-de-varias-palabras-que-manda-el-servidor-y-el-cliente-hace-la-operacion-de-contar/

--------------
--------------

# Proyecto primera evaluación

## Temas a evaluar
- Programación concurrente
- Programación paralela
- Programación distribuida
- Procesos
- Hilos:
	- Crear, iniciar y finalizar hilos
	- Sincronizar
	- Varios hilos
	- Prioridad
- Red:
	- Utilización de servidores web (GET y POST)
	- Roles de cliente y de servidor
	- Librerías
	- Socket
		- Hilos
- Servicios en red:
	- Varios clientes concurrentes
	- Disponibilidad del servicio
	- Servicios de red capa Aplicación
- Seguridad:
	- Programación segura
	- Criptográfia
	- Políticas de seguridad para limitar y controlar el acceso de los usuarios
	- Roles
	- Asegurar información transmitida
	- Sockets seguros
