Windows套接字:存储通知

本文在套接字类描述通知函数。这些成员函数是框架调用通知重要事件进行套接字对象的回调函数。通知函数是:

  • OnReceive:请注意此套接字具有缓冲区中的数据它的可以检索通过调用 接收

  • OnSend:请注意此套接字则可以通过调用 发送现在发送数据。

  • OnAccept:请注意此侦听的套接字它是否可以接受等待连接请求通过调用 接受

  • OnConnect:请注意此连接的套接字其连接尝试完成:可能无法成功或错误。

  • OnClose:通知它连接到的此套接字套接字关闭。

    说明说明

    一个附加通知函数是 OnOutOfBandData。此通知调用接收的套接字发送的套接字具有 “发送带外”的数据。带外数据是逻辑上独立的联合必须与每个匹配连接的流套接字。带外通道通常用于发送 “紧急”数据。MFC 支持带外数据。高级用户与类 CAsyncSocket 使用可能需要使用带外通道,但是,类 CSocket 的用户从使用它将不鼓励。更简单的方法是通过创建这样的数据第二个套接字。有关带外数据的更多信息,请参见 Windows 套接字规范,可用于 Windows SDK。

如果从类 CAsyncSocket派生,必须重写这些网络事件通知功能相关到您的应用程序。如果从类 CSocket派生类,它是否是您的选择重写通知函数相关。,在通知函数没有默认为执行情况下,也可以使用 CSocket

这些函数与可重写的回调函数。CAsyncSocketCSocket 将消息转换成通知,但是,您必须实现通知函数如何响应,如果要使用它们。通知函数先调用,然后的套接字得到通知关注的事件后,例如要读取的数据显示。

,在将通知时, MFC 调用以通知功能使您可以自定义您的套接字的行为。例如,可以调用从您的 OnReceive 通知函数的 接收 ,即,在收到通知具有读取的数据,则调用 接收 读取它。此方法不是必需的,但是,它是有效的方案。或者,可以使用您的通知函数跟踪进度,打印 跟踪 消息,依此类推。

还可以通过在派生的套接字类的通知函数和提供实现利用这些通知。

在操作期间例如接收或发送数据, CSocket 对象已同步。处于同步状态期间,对于其他套接字表示的所有通知排队,则需的当前套接字等待通知时。(例如,在 接收 调用期间,套接字希望通知读取。)对于套接字完成其同步操作并再次变为异步,其他套接字可以开始接收排队的通知。

说明说明

CSocketOnConnect 通知函数从不调用。对于连接,则调用 连接,将返回,当连接完成时 (成功或错误)。连接通知的处理方式是 MFC 实现详细信息。

有关每个通知函数的详细信息,请参见函数在 MFC 类 CAsyncSocket引用。有关源代码以及有关 MFC 示例,请参见 MFC 示例

有关更多信息,请参见:

请参见

概念

在MFC的Windows套接字