Índice de tutoriales de casos de programación de redes de Windows
1.1 Modelo de programación de red
1.1.1 Modelo de referencia de interconexión de sistemas abiertos
1.1.2 Modelo de pila de protocolo TCP/IP
1.1 .3 Modelo de programación de socket
1.1.4 Modelo de conversación multiproceso de Internet
1.2 Modelo de red P2P
1.2.1 Antecedentes de desarrollo de P2P
1.2.2 Red P2P de tercera generación
1.2.3 Clasificación de redes P2P
1.2.4 Ejemplos de aplicaciones P2P típicas
1.3 Programación de redes Windows
1.3.1Marco de programación de red de Windows
1.3.2Protocolo de red de Windows
1.3.3Modelo de programación de Windows Sockets
1.3.4Modo de trabajo WinSock2
1.3.5 El primer programa de red: hostent
Ejercicio 1 2.1Programación de formularios API Win32
2.1.1 Abrir un cuadro de mensaje
2.1.2 Crear un formulario
2.1.3 Agregar controles al formulario
2.2Marco de programación API WinSock2
2.2.1Estructura del programa API WinSock2
2.2.2 Función de biblioteca API de WinSock2
2.2.3 Nuevo desarrollo de WinSock2
2.3 Programación de sockets en modo bloqueo/no bloqueo
2.3.1 Programación del cliente de socket en modo de bloqueo
2.3.2 Programación del servidor de socket en modo de bloqueo
2.3.3 Programación del cliente de socket en modo sin bloqueo
p>2.3.4 No -Programación de servidor de socket en modo de bloqueo
2.3.5 Manejo de errores de socket
2.4 Programación de socket asíncrono
2.4.1 Programación de cliente de socket asíncrono
2.4.2 Programación del servidor de socket asíncrono
2.4.3 Respuesta del servidor al acceso simultáneo de múltiples clientes
2.5Programación del modelo de E/S WinSock2
2.5.1Bloqueo Modelo de E/S
2.5.2seleccionar modelo de E/S
2.5.3WSAAsyncSeleccionar modelo de E/S
2.5.4WSAEventSelect modelo de E/S
2.5.5 Modelo de E/S superpuestas
2.5.6 Modelo de puerto de finalización de E/S
2.5.7 Selección del modelo de E/S
Ejercicio 2 3.1Modelo de programación de sockets MFC
3.1.1Marco de programación MFC
3.1.2Modelo de programación de clase CAsyncSocket
3.1.3 Modelo de programación de clase CSocket
3.1.4 Clase de socket derivada
3.1.5 Modo de bloqueo/no bloqueo de la clase de socket MFC
p>
3.2Ejemplo de programación de la clase CAsyncSocket
3.2.1 Funciones de comunicación punto a punto y puntos técnicos
3.2.2 Creación de un cliente
3.2.3 Análisis de código máquina del cliente
3.2. 4 Crear servidor
3.2.5 Análisis del código del servidor
3.2.6 Prueba conjunta de cliente y servidor de comunicación punto a punto
3.3 Ejemplo de programación de clase CSocket
3.3.1 Funciones y puntos técnicos de la sala de chat
3.3.2 Creación de un servidor de sala de chat
3.3.3 Análisis del código del servidor de sala de chat
< pag>3.3.4 Crear cliente de sala de chat
3.3.5 Análisis del código del cliente de sala de chat
3.3.6 Prueba conjunta del cliente y servidor de sala de chat
Ejercicio 3 4.1Programación de la API de WinInet
4.1.1Manejador de HINTERNET de WinInet
4.1.2API general de WinInet
4.1.3 Cerrar el manejador de HINTERNET
4.2WinInet Programación FTP
4.2.1 Introducción a la API FTP
4.2.2Recorrido del directorio de archivos del servidor FTP
4.2.3Navegación del directorio del servidor FTP
4.2.4 Crear y eliminar directorios del servidor FTP
4.2.5 Obtener archivos del servidor FTP
4.2.6 Subir archivos al servidor FTP
4.2.7 Eliminar archivos del servidor FTP
4.2.8 Cambiar el nombre del directorio o archivo del servidor FTP
4.3Programación HTTP de WinInet
4.3.1Operaciones básicas de la API HTTP
4.3.2Programación de cookies HTTP
4.3.3Programación de autenticación HTTP
4.3.4Programación de URL HTTP
4.3.5 Obtención de la información del encabezado de la solicitud HTTP
Ejercicio 4 5.1 Descripción general de MFC WinInet
5.1.1Clase básica de MFC WinInet
5.1.2 Asociación entre clases de MFC WinInet
5.1 .3Pasos de programación del cliente MFC WinInet
5.1.4Modelo de programación clásico MFC WinInet
5.2 Ejemplo de programación de cliente FTP simple
5.2.1Modelo cliente/servidor FTP
5.2.2 Definición de funciones y puntos técnicos
5.2.3 Construcción de un servidor FTP
5.2.4 Pasos para crear un cliente FTP simple
5.2.5 Código principal
5.2.6 Prueba del sistema
5.3Ejemplo de programación del navegador HTTP
5.3.1 Modelo de funcionamiento del navegador/servidor
p>5.3.2Modelo de programación MFC CHtmlView
5.3.3Funciones MFCIE y puntos técnicos
5.3.4Pasos de creación de MFCIE
5.3.5Prueba de funciones MFCIE
Ejercicio 5 6.1Protocolo SMTP
6.1.1Modelo de trabajo SMTP
6.1.2Análisis de comandos SMTP
6.1.3Código de estado de respuesta SMTP
6.2Protocolo POP3
6.2.1Modelo de trabajo POP3
6.2.2Análisis del comando POP3
6.2.3 Uso del comando POP3 y sesión de 163 buzones
6.3Extensión de correo MIME
6.3.1Extensión MIME al protocolo de correo electrónico
6.3.2Extensión MIME al encabezado del correo electrónico
6.3.3 Tipo de contenido MIME correo electrónico
6.3.4Codificación Base64
6.4Ejemplo de programación del protocolo SMTP
6.4.1Modelo de trabajo de correo electrónico SMTP
6.4.2 Funcional y técnico puntos
6.4.3 Pasos para la creación del proyecto
6.4.4 Código principal
6.4.5 Pruebas del proyecto
6.5Ejemplo de programación del protocolo POP3
6.5.1Modelo de trabajo del cliente POP3
>6.5.2 Puntos funcionales y técnicos
6.5.3 Pasos de creación del proyecto
6.5.4 Pruebas del proyecto
Ejercicio 6 7.1 Procesos e hilos
7.1.1 La relación entre procesos y subprocesos
7.1.2 Estructura de memoria de los procesos de Windows
7.1.3 Prioridad de los subprocesos de Windows
7.2 Uso C y escritura de subprocesos múltiples con API Win32
7.2.1 Programación de subprocesos API Win32
7.2.2 Escritura de subprocesos múltiples con lenguaje C
7.2.3 Sincronización de subprocesos
7.2.4 Pasos para crear subprocesos múltiples
7.2.5 Programa multiproceso - Smiley Face
7.3 Escribir subprocesos múltiples usando C y MFC
7.3 .1Clase de subproceso MFC
7.3.2 Subproceso de interfaz de usuario
7.3.3 Subproceso de trabajo
7.3.4 Sincronización de subprocesos clase
7.3 .5Programa multiproceso MFC - carrera ciclista
Ejercicio 7 8.1 Descripción general de WinPcap
8.1.1 Funciones de WinPcap
8.1. 2Herramienta de análisis de red Wireshark
8.1.3Herramienta de rastreo de red WinDump
8.1.4 Obtención e instalación de WinPcap
8.1.5Modelo de trabajo de WinPcap
8.1.6 La relación entre NPF y NDIS
8.1.7 Modelo de trabajo de NPF
8.1.8 Configuración del entorno de desarrollo WinPcap
8.2 Marco de programación WinPcap
8.2.1 Estructura y definición de macro
8.2.2 Función API WinPcap
8.2.3 Expresión de filtro
8.2.4 Creación y prueba de programas
8.3 Aplicación de programación WinPcap
8.3.1 Obtener la lista de dispositivos de red
8.3.2 Abrir el adaptador para capturar paquetes
8.3.3 Capturar y imprimir todos los paquetes
p>
8.3.4 Filtrar paquetes de datos
8.3.5 Analizar paquetes de datos
8.3.6 Estadísticas de tráfico de red
p>Ejercicio 8 9.1 Introducción al backgammon
9.1.1 Tablero y piezas de ajedrez
9.1.2 Glosario del backgammon
9.1.3 Reglas de ajedrez
9.1.4 Jugadores de backgammon Juego de ordenador
9.1.5 Cómo determinar el resultado
9.2 Diseño de un sistema de batalla hombre-máquina
9.2.1 Requisitos funcionales
9.2.2 Crear el marco del programa del proyecto
9.2.3 Importar archivos de recursos
9.2.4 Diseño del menú principal
p>9.2.5 Diagrama de clases del proyecto de batalla hombre-máquina
9.2.6 Diseño de estructura de mensajes
9.2.7 Modelo lógico de batalla humano-computadora
9.2.8 Diseño de juego clase base CGame
9.2 .9 Diseño de batalla hombre-máquina tipo COneGame
9.2.10 Diseño de tablero de ajedrez tipo CTable
9.2.11 Diseño de tipo de interfaz CLiveDlg
9.2.12 Prueba de proyecto
9.3 Diseño del sistema de batalla en red
9.3.1 Requisitos funcionales extendidos
9.3.2 Definición de mensajes de diálogo
9.3.3 Red Nuevos elementos de interfaz para la batalla
9.3.4 Diagrama de clases básico de la batalla en red
9.3.5 Modelo de comunicación de batalla en red
9.3.6 Diseño de la clase CLiveSocket
9.3.7 Diseño de la clase CTwoGame
9.3.8 Modificación de CTabl
Diseño de la clase e
9.3.9 Diseño de la clase CServerDlg y clase CClientDlg
9.3.10 Diseño de la clase CNameDlg y clase CStatDlg
9.3. 11 Mejorar el diseño de la clase CLiveDlg Diseño
9.3.12 Prueba de proyecto
Ejercicio 9 Programa 1.1 Código completo de resolución de nombre y dirección de host 20
Programa 2.1 pops crear un cuadro de mensaje código completo 25 p>
Programa 2.2 Crear un formulario completo código 31
Programa 2.3 agregar controles al formulario completo código 36
Programa 2.4 modo de bloqueo código completo del cliente socket 48
Programa 2.5 Código completo del servidor socket en modo bloqueo 52
Programa 2.6 Código completo del cliente socket en modo sin bloqueo 54
Programa 2.7 No- modo de bloqueo Servidor de socket código completo 56
Programa 2.8 Manejo de errores de socket código completo 61
Programa 2.9 Cliente de socket asíncrono código completo 65
Programa 2.10 Servidor de socket asíncrono completo código 73
Programa 2.11 El servidor responde al acceso simultáneo de múltiples clientes código completo 81
Programa 2.12Programa cliente TcpClient código completo 89
Programa 2.13select I/O modelo de servidor de eco código completo 93
Programa 2.14WSAEventSelect E/S modelo de servidor de eco código completo 107
Programa 2.15 Usar puerto de finalización para desarrollar el código completo de servidor de eco 120
Programa 3.1 cliente de comunicación punto a punto código completo 148
Programa 3.2 servidor de comunicación punto a punto código completo 161
Programa 3.3 servidor de sala de chat código completo 178
Programa 3.4 Cliente de sala de chat código completo 191
Programa 4.1 Rutina general de descarga de datos de Internet 1206
Programa 4.2 Rutina general de descarga de datos de Internet 2208
Programa 4.3 obtiene el directorio del archivo FTP y muestra la rutina general 210
El programa 4.4 recorre el directorio del servidor FTP y muestra 214 en el cuadro de lista
El programa 4.5 cambia el directorio actual y muestra 216
Programa 4.6 Crear un nuevo directorio en el servidor FTP 217
Programa 4.7 Eliminar un directorio en el servidor FTP 218
Programa 4.8 Descargar archivos desde un servidor remoto 219
Procedimiento 4.9 Subir archivos al servidor FTP 220
Procedimiento 4.10 Eliminar archivos del servidor FTP 221
Programa 4.11 Cambiar el nombre de directorios o archivos del servidor FTP 222
Programa 4.12 Establecimiento de conexión WWW 224
Programa 4.13 Lectura de cookies227
Programa 4.14 Creación de cookies de sesión y cookies persistentes228
Programa 4.15 Manejo de autenticación HTTP con InternetErrorDlg 229
Programa 4.16 Utilice InternetSetOption para manejar la verificación HTTP 230
Programa 4.17 Utilice HttpQueryInfo para obtener la información del encabezado de la solicitud HTTP 232
Programa 5.1 Cree el navegador más simple Servidor 237
El programa 5.2 usa HTTP para descargar una página web y la muestra 238
El programa 5.3 usa FTP para descargar un archivo 238
El programa 5.4 atraviesa el directorio 247
Programa 5.5 descargar archivo 248
Programa 5.6 cargar archivo 249
Programa 6.1Programa de codificación y decodificación Base64 278
<p>Programa 7.1 Imprimir la dirección de memoria de una variable 292
Programa 7.2 Usar CreateThread para crear dos hilos de conteo 297
Programa 7.3 Usar lenguaje C para escribir hilo de deriva de caracteres 303
Programa 7.4 Utilice lenguaje C para escribir el ejemplo de sincronización multiproceso 1305
Programa 7.5 Utilice el lenguaje C para escribir el ejemplo de sincronización multiproceso 2307
Programa 7.6 Programa de cara sonriente completo código 308
Programa 7.7 Hilo de interfaz de usuario para programación de sockets de servidor 315
Programa 7.8 Creación y llamada de hilo de trabajo 317
Programa 7.9 Programa de carrera ciclista código completo 318
Programa 8.1 Obtener la lista completa de dispositivos de red código 340
Programa 8.2 Abrir el adaptador y capturar el paquete completo código 342
Programa 8.3 Capturar e imprimir todos los paquetes código completo 344
Programa 8.4PacketFilter filtro de paquetes código completo 347
Programa 8.5 captura paquetes UDP y analiza su encabezado código completo 350
Programa 8.6 monitorea el tráfico de red TCP código completo 355
Programa 9.1 Definición de la clase base del juego CGame 370
Programa 9.2 Definición de la clase de batalla hombre-máquina COneGame 372
Programa 9.3 Implementación de la clase de batalla hombre-máquina COneGame 373
Programa 9.4 Definición de la clase de batalla hombre-máquina CTable 380
Programa 9.5 Implementación de la clase de batalla humano-máquina CTable 381
Programa 9.6 Definición de la clase de interfaz principal CLiveDlg 388
Programa 9.7 Implementación de la clase de interfaz principal CFiveDlg 389
Programa 9.8 Definición de la clase de comunicación de socket CFiveSocket 396
Programa 9.9 Clase de comunicación de socket CFiveSocket Implementación de 397
Programa 9.10 Definición de la clase de batalla de red CTwoGame 398
Programa 9.11 Implementación de la clase de batalla de red CTwoGame 398
Programa 9.12 Modificación de la clase de tablero de ajedrez CTable400
p>