Windows套接字:存储通知
本文在套接字类描述通知函数。这些成员函数是框架调用通知重要事件进行套接字对象的回调函数。通知函数是:
OnConnect:请注意此连接的套接字其连接尝试完成:可能无法成功或错误。
OnClose:通知它连接到的此套接字套接字关闭。
说明 一个附加通知函数是 OnOutOfBandData。此通知调用接收的套接字发送的套接字具有 “发送带外”的数据。带外数据是逻辑上独立的联合必须与每个匹配连接的流套接字。带外通道通常用于发送 “紧急”数据。MFC 支持带外数据。高级用户与类 CAsyncSocket 使用可能需要使用带外通道,但是,类 CSocket 的用户从使用它将不鼓励。更简单的方法是通过创建这样的数据第二个套接字。有关带外数据的更多信息,请参见 Windows 套接字规范,可用于 Windows SDK。
如果从类 CAsyncSocket派生,必须重写这些网络事件通知功能相关到您的应用程序。如果从类 CSocket派生类,它是否是您的选择重写通知函数相关。,在通知函数没有默认为执行情况下,也可以使用 CSocket 。
这些函数与可重写的回调函数。CAsyncSocket 和 CSocket 将消息转换成通知,但是,您必须实现通知函数如何响应,如果要使用它们。通知函数先调用,然后的套接字得到通知关注的事件后,例如要读取的数据显示。
,在将通知时, MFC 调用以通知功能使您可以自定义您的套接字的行为。例如,可以调用从您的 OnReceive 通知函数的 接收 ,即,在收到通知具有读取的数据,则调用 接收 读取它。此方法不是必需的,但是,它是有效的方案。或者,可以使用您的通知函数跟踪进度,打印 跟踪 消息,依此类推。
还可以通过在派生的套接字类的通知函数和提供实现利用这些通知。
在操作期间例如接收或发送数据, CSocket 对象已同步。处于同步状态期间,对于其他套接字表示的所有通知排队,则需的当前套接字等待通知时。(例如,在 接收 调用期间,套接字希望通知读取。)对于套接字完成其同步操作并再次变为异步,其他套接字可以开始接收排队的通知。
说明 |
---|
在 CSocket, OnConnect 通知函数从不调用。对于连接,则调用 连接,将返回,当连接完成时 (成功或错误)。连接通知的处理方式是 MFC 实现详细信息。 |
有关每个通知函数的详细信息,请参见函数在 MFC 类 CAsyncSocket 下 引用。有关源代码以及有关 MFC 示例,请参见 MFC 示例。
有关更多信息,请参见: