Compartir a través de


Windows Sockets: Derivar clases de socket

En este artículo se describe algunas funcionalidades que puede hacerse derivar su propia clase de una de las clases de socket.

Puede derivar sus propias clases de socket de CAsyncSocket o de CSocket para agregar su propia funcionalidad.En particular, estas clases proporcionan a varios miembro virtual funcionan que puede reemplazar.Estas funciones se incluyen OnReceive, OnSend, OnAccept, OnConnect, y OnClose.Puede reemplazar las funciones en la clase derivada de socket para aprovechar las notificaciones que proporcionan a los eventos de red aparecen.El marco de trabajo llama a estas funciones de devolución de llamada de notificación para recibir notificaciones de los eventos importantes de socket, como la recepción de los datos que puede iniciar lectura.Para obtener más información sobre las funciones de notificación, vea Windows Sockets: Notificaciones de socket.

Además, las fuentes de CSocket de la clase la función miembro de OnMessagePending (un overridable avanzadas).MFC llama a esta función mientras el socket está generando mensajes basados en Windows.Puede reemplazar OnMessagePending para buscar mensajes concretos de Windows y responder a ellos.

La versión predeterminada de OnMessagePending proporcionado en clase que CSocket examina la cola de mensajes para los mensajes de WM_PAINT mientras espera una llamada de bloqueo para completar.Envía mensajes de dibujo para mejorar la calidad de despliegue en pantalla.Independientemente de hacer algo útil, muestra una manera que puede que reemplace la función personalmente.Otro ejemplo, considere el uso OnMessagePending para la tarea siguiente.Suponga que mostrar un cuadro de diálogo no modal mientras espera una transacción de red para completar.El cuadro de diálogo contiene un botón cancel que el usuario pueda utilizar para cancelar las transacciones de bloqueo que duran demasiado.La invalidación de OnMessagePending podría suministrar los mensajes relacionados con este cuadro de diálogo no modal.

En la invalidación de OnMessagePending , devuelve TRUE o el valor devuelto de una llamada a la versión de la clase base de OnMessagePending.Llame a la versión de la clase base si realiza el trabajo que desee realizar.

Para obtener más información, vea:

Vea también

Conceptos

Windows Sockets en MFC