Saltar al contenido principal
Programacion de Servicios y Procesos en C#

Programacion de Servicios y Procesos en C#

Carnero Sobrino, Jose Luis

Este libro desarrolla los contenidos del módulo de Programación de Servicios y Procesos, vinculado al título de Técnico Superior en Desarrollo de Aplicaciones Multiplataforma (Real Decreto 450/2010 de 16 de abril, publicado en el BOE con fecha 20 de mayo de 2010). El manual se presenta como una guía de aprendizaje compuesta por cinco unidades: Procesos, Threads, Networking & So...

Editorial:
Marcombo
Año de edición:
2021
Materia:
Programación
ISBN:
978-84-267-3392-4
Páginas:
166
Encuadernación:
Rústica
22,80 €
IVA incluido
Añadir a favoritos

Sinopsis

Este libro desarrolla los contenidos del módulo de Programación de Servicios y Procesos, vinculado al título de Técnico Superior en Desarrollo de Aplicaciones Multiplataforma (Real Decreto 450/2010 de 16 de abril, publicado en el BOE con fecha 20 de mayo de 2010). El manual se presenta como una guía de aprendizaje compuesta por cinco unidades: Procesos, Threads, Networking & Sockets, Servicios y Seguridad. En cada una se abordan conocimientos teóricos básicos, tratados desde cero, para introducir al lector en la programación con ejemplos funcionales e ilustrativos que permitan avanzar en el desarrollo y el consumo de servicios bajo el paradigma cliente-servidor. A lo largo de las unidades se presentan los conceptos de proceso, para profundizar en la descomposición de un proceso en hilos o threads con todas sus implicaciones de concurrencia, paralelismo y distribución. Asimismo, se introducen los conceptos necesarios de redes y comunicación mediante sockets, para programar la transmisión de datos a través de la red. Los objetivos de este libro se clasifican en: 1.Conseguir la destreza de crear un servicio con

Índice

Unidad 1
Procesos ................................................... 1
1.1 Introducción y fundamentos ....................... 2
1.2 Concurrencia y distribución ......................... 3
1.3 Estados de un proceso ................................. 5
1.4 Gestión de procesos ..................................... 6
1.4.1 Dispatcher ............................................... 7
1.4.2 Scheduler ................................................. 8
1.5 Operaciones con procesos ....................... 11
1.5.1 Creación y ejecución .......................... 11
1.5.2 Acceso ................................................... 13
1.5.3 Propiedades .......................................... 14
1.5.4 Eliminación y espera ............................ 14
1.6 Comunicación entre procesos ................. 15
Unidad 2
Threads ................................................... 19
2.1 Introducción y fundamentos ..................... 20
2.2 Creación y puesta en ejecución .............. 23
2.3 Paralelismo ................................................... 24
2.3.1 Variables compartidas ......................... 25
2.3.2 Paso de parámetros ............................. 26
2.4 Propiedades ................................................ 27
2.5 Sincronismo .................................................. 29
2.5.1 Join() ....................................................... 29
2.5.2 lock() ...................................................... 29
2.5.3 Monitores ............................................... 32
2.5.4 Aborto y excepciones .......................... 36
2.6 Interacción con un formulario ................... 37
Unidad 3
Networking & Sockets ........................... 43
3.1 Conceptos fundamentales
de redes ....................................................... 44
3.1.1 Componentes básicos ......................... 44
3.2 Protocolo TCP/IP .......................................... 45
3.2.1 Funcionamiento .................................... 46
3.2.2 Capa Ethernet ...................................... 47
3.2.3 Capa IP .................................................. 48
3.2.4 Capa TCP/UDP ...................................... 50
3.2.5 Sockets ................................................... 53
3.2.6 Capa de aplicación ............................ 55
3.3 Programación mediante sockets .............. 57
3.3.1 Direccionamiento ................................. 57
3.3.2 DNS ......................................................... 59
3.3.3 Socket servidor orientado
a conexión ........................................... 60
3.3.4 Socket cliente orientado
a conexión ........................................... 62
3.3.5 Servidor TCP
(transmisión de datos) .......................... 63
3.3.6 Cliente TCP
(transmisión de datos) .......................... 64
3.3.7 Servidor UDP .......................................... 65
3.3.8 Cliente UDP ............................................ 66
Unidad 4
Servicios ................................................. 71
4.1 Componentes ............................................. 72
4.1.1 Servidor .................................................. 72
4.1.2 Cliente .................................................... 74
4.1.3 Protocolo ............................................... 75
4.1.4 Arquitectura .......................................... 76
4.2 Clases del modelo TCP ............................... 77
4.2.1 NetworkStream ..................................... 77
4.2.2 TcpListener ............................................. 80
4.2.3 TcpClient ................................................ 84
4.3 Servidores con atención concurrente ...... 86
4.3.1 Adivina número
(un solo cliente) .................................... 87
4.3.2 Adivina número
(múltiples clientes) ................................ 90
4.4 Juego piedra, papel, tijera ........................ 92
4.4.1 PPT con respuesta síncrona ................. 93
4.4.2 PPT cliente asíncrono ......................... 100
4.4.3 PPT con sondeo .................................. 102
4.4.4 PPT full-duplex ...................................... 109
4.5 Estándares de protocolos
a nivel aplicación ..................................... 117
4.5.1 FTP ......................................................... 117
4.5.2 SMTP ..................................................... 119
4.5.3 HTTP ....................................................... 122
4.6 Servicios web ............................................ 126
4.6.1 Clasificación ........................................ 126
4.6.2 Consumo de API REST ........................ 128
4.6.3 Prueba de métodos en API REST ....... 132
4.6.4 Microservicios ...................................... 134
Unidad 5
Seguridad ............................................. 139
5.1 Introducción .............................................. 140
5.2 Breve historia .............................................. 141
5.3 Técnicas de seguridad en la fase
de desarrollo de software ........................ 142
5.3.1 Excepciones ........................................ 142
5.3.2 Mensajes de error ............................... 143
5.3.3 Validaciones ....................................... 143
5.3.4 Autenticación y roles ......................... 143
5.3.5 Políticas preventivas ........................... 143
5.3.6 Logs ...................................................... 144
5.4 Funciones hash aplicadas a ficheros ..... 144
5.5 Cifrado simétrico ....................................... 145
5.5.1 Cifrado por sustitución ....................... 146
5.5.2 Algoritmo DES ...................................... 148
5.5.3 Algoritmo AES ...................................... 151
5.6 Cifrado asimétrico .................................... 153
5.6.1 Algoritmo RSA ...................................... 154
5.6.2 Firma digital ......................................... 156
5.6.3 SSL ......................................................... 157

Artículos relacionados

Comprender los Algoritmos

Comprender los Algoritmos

Y. Bhargava, Aditya

Los algoritmos que utilizas con más frecuencia ya han sido descubiertos, probados y comprobados. La segunda actualización de Comprender los algoritmos hace que sea muy fácil aprenderlos, comprenderlos y usarlos. Con explicaciones maravillosamente sencillas, más de 400 ilustraciones divertidas y docenas de ejemplos relevantes, aprenderás a desbloquear el poder de los algoritmos ...

✅ Disponible

36,95 €

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Micropython en Proyectos. Una Introducción Práctica a la Programación de Microco

Padin Romero, Beatriz / Dapena Janeiro, Ad / Padín Romero, Beatriz / Dapena Janeiro, Adriana

Desarrolle proyectos en MicroPython paso a paso Vivimos rodeados de microcontroladores. Estos pequeños ordenadores, programados para realizar tareas concretas, son la pieza central de muchos de los dispositivos electrónicos con los que interactuamos a diario: electrodomésticos, automóviles, sistemas de monitorización y control? Sin embargo, a pesar de su ubicuidad, su funciona...

✅ Disponible

22,80 €

Python Black Hat. Programación para Hackers y Pentesters

Python Black Hat. Programación para Hackers y Pentesters

Arnold, Tim / Seitz, Justin

Cuando se trata de crear herramientas de hackeo potentes y eficaces, Python es el lenguaje elegido por la mayoría de los analistas de seguridad. En este libro explorarás el lado más oscuro de las capacidades de Python: todo, desde escribir sniffers de red, robar credenciales de correo electrónico y acceder a directorios y carpetas por la fuerza hasta crear fuzzers de mutación, ...

✅ Disponible

32,95 €

Guía de Programación en C/C++

Guía de Programación en C/C++

Lopez, Eliezer

Medio siglo después, C y C++ son los lenguajes más eficientes de la historia y el fundamento de gran parte de la tecnología que utilizamos a diario. Creados por y para programadores, se siguen enseñando en miles de centros educativos y ofrecen multitud de ventajas a empresas relevantes en multitud de sectores.C y C++ están presentes en una amplia variedad de sectores gracias a ...

✅ Disponible

29,95 €

Curso Práctico con Unity 3D

Curso Práctico con Unity 3D

Cantón Nadales, David

El primer libro en español que guía el desarrollo de videojuegos con Unity, desde los fundamentos hasta la creación de builds ejecutables.Dirigido a principiantes y desarrolladores con experiencia, este libro te acompaña paso a paso, desde el uso del Unity Editor hasta la creación de videojuegos completos y optimizados. Aprenderás a manipular GameObjects, programar en C# y Visu...

✅ Disponible

29,95 €

Curso de Programacion con Rust

Curso de Programacion con Rust

Lopez, Eliezer

El lenguaje de programación Rust ha ganado popularidad en los últimos años debido a su enfoque en la seguridad y el rendimiento, y se ha convertido en una excelente opción para el desarrollo de aplicaciones críticas y sistemas de alto rendimiento. Con una comunidad en constante crecimiento y el respaldo de importantes empresas, Rust constituye una herramienta poderosa para desa...

✅ Disponible

30,95 €