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套接字