Windows 套接字:从套接字类派生

本文介绍通过从套接字类之一派生自己的类可以获得的一些功能。

可以从 CAsyncSocketCSocket 派生自己的套接字类,以添加自己的功能。 具体而言,这些类提供许多可以重写的虚拟成员函数。 这些函数包括 OnReceive、OnSend、OnAccept、OnConnect 和OnClose 可以重写派生套接字类中的函数,以利用它们在网络事件发生时提供的通知。 框架调用这些通知回调函数来通知你重要的套接字事件,例如接收可以开始读取的数据。 有关通知函数的信息,请参阅套接字Windows套接字通知

此外,类 CSocket 提供 OnMessagePending 成员函数 (高级可重写) 。 MFC 在套接字正在抽取基于 Windows消息时调用此函数。 可以重写 OnMessagePending 以查找来自特定Windows并响应它们。

类中提供的默认版本会检查消息队列,WM_PAINT阻塞调用完成时收到 OnMessagePending CSocket 的消息。 它调度绘制消息以提高显示质量。 除了执行一些有用的操作外,这还演示了一种可以自己重写函数的方法。 另举一例,请考虑 OnMessagePending 将 用于以下任务。 假设在等待网络事务完成时显示无模式对话框。 该对话框包含一个"取消"按钮,用户可以使用该按钮取消时间过长的阻塞事务。 重写 OnMessagePending 可能会抽取与此无模式对话框相关的消息。

OnMessagePending 重写中,返回 TRUE 或从对 的基类版本的调用返回 OnMessagePending 。 如果基类版本执行仍希望完成的工作,请调用该版本。

有关详情,请参阅:

请参阅

MFC 中的 Windows 套接字