Windows 套接字:套接字通知

在本文套接字类说明通知函数。 这些成员函数是通知重要事件套接字的框架对象调用的回调函数。 通知功能:

  • OnReceive:此通知套接字具有缓冲区中的数据。可以检索通过调用 Receive

  • OnSend:此通知套接字它可以通过 发送调用现在发送数据。

  • OnAccept:此通知侦听的套接字它能接受暂停连接请求通过调用 接受

  • OnConnect:请注意此连接的套接字连接其尝试完成:(或许成功或错误。

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

    备注

    附加通知函数是 OnOutOfBandData。此通知调用套接接收 Word 发送的套接字将“发送带外”的数据。带外数据是一个或多个逻辑无关联合访问的。每对连接流的套接字。带外通道通常用于发送“紧急”数据。MFC支持处理带外数据。高级用户与 CAsyncSocket 类一起使用可能需要使用带外通道,但用户从 CSocket 类的使用方式不鼓励使用。简单的方法会创建传递这样的数据第二套接字。有关带外数据的更多信息,请参见 Windows 套接字规范,Windows SDK中可用。

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

这些函数是可重写的回调函数。 CAsyncSocketCSocket 将消息到通知,但是,您必须实现函数通知如何响应,则要使用它们。 通知函数,在调用套接字时通知感兴趣的事件时,例如要读取的数据出现。

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

通过重写在派生的类通知函数和套接字中提供实现利用这些通知。

在一操作时 (接收或发送数据,CSocket 对象变为同步。 在同步状态期间,对其他套接字意味着的所有通知队列,当所需的套接字当前等待通知时。在调用 Receive 期间,(例如套接字,需要通知,读取。)一旦套接字完成其同步操作并再次变为异步的,则另套接字开始接收队列的通知。

备注

CSocket中,OnConnect 通知函数从不调用。对于连接,您调用 连接,将返回,连接完成时 (成功或假)。连接通知的处理方式是 MFC 实现详细信息。

有关每个通知函数的信息,请参见函数在" MFC 参考"中的CAsyncSocket 下。 有关源代码以及有关 MFC 示例,请参见 MFC 示例

有关详细信息,请参阅:

请参见

概念

MFC 中的 Windows 套接字