Índice de contenido
Como puede ver en este diagrama, el servidor espera una conexión desde el cliente. Cuando el cliente se conecta al servidor; el servidor espera recibir datos de el cliente. En este punto, el cliente debe esperar a que se le envíen datos desde el servidor. Luego, el servidor configura los datos de respuesta y los envía de vuelta al cliente. El cliente recibe esto y lo imprime y cierra la conexión. Mientras tanto, el servidor ha estado esperando a ver si hay más datos del cliente; como el cliente cierra la conexión el servidor sabe que el cliente ha terminado y vuelve a esperar para la próxima conexión. 39.7 El módulo de servidor de sockets En el ejemplo anterior, el código del servidor es más complejo que el del cliente; y esto es para un servidor de un solo subproceso; la vida puede volverse mucho más complicada si el servidor está Se espera que sea un servidor de subprocesos múltiples (es decir, un servidor que puede manejar múltiples solicitudes de diferentes clientes al mismo tiempo). Sin embargo, el socket de servidor módulo proporciona a más conveniente, enfoque orientado a objetos para crear un servidor. Se necesita gran parte del código de placa de caldera en tales aplicaciones se define en clases, y el desarrollador solo tiene que proporcionar sus propias clases o reemplazan los métodos para definir la funcionalidad específica requerida. Hay cinco clases de servidor diferentes definidas en el módulo socketserver. • BaseServer es la raíz de la jerarquía de clases del Servidor; no es realmente la intención para ser instanciado y utilizado directamente. En su lugar, se extiende por TCPServer y otras clases. • TCPServer usa sockets TCP/IP para comunicarse y es probablemente el más tipo de servidor de socket de uso común. • UDPServer proporciona acceso a sockets de datagramas. • UnixStreamServer y UnixDatagramServer usar dominio Unix sockets y solo están disponibles en plataformas Unix. La responsabilidad de procesar una solicitud se divide entre una clase de servidor y un clase de controlador de solicitudes. El servidor se ocupa de los problemas de comunicación (escuchar en un socket y un puerto, aceptando conexiones, etc.) y el controlador de solicitudes se ocupa de los problemas de la solicitud (interpretar los datos entrantes, procesarlos, enviar datos de vuelta a el cliente). Esta división de responsabilidades significa que, en muchos casos, simplemente puede usar una de las clases de servidor existentes sin modificaciones y proporciona un solicite la clase de controlador para que funcione. El siguiente ejemplo define un controlador de solicitudes que se conecta al TCPServer cuando se construye. El manejador de solicitudes define un manejo de métodos. dle() que se espera que maneje el procesamiento de la solicitud. 39.6 Implementación de la aplicación cliente 463
popular post
El modelo AR de series temporales univariadas
Resumen: En esta entrada, descubrirá el modelo AR: El modelo autorregresivo.
Leer másEvaluación de modelos para pronosticar
Resumen: Al desarrollar modelos de aprendizaje automático, generalmente se comparan varios modelos durante la fase de construcción.
Leer másModelos para pronosticar
Resumen: El pronóstico, traducido groseramente como la tarea de predecir el futuro, ha estado presente en la sociedad humana durante siglos.
Leer más