Windows Sockets:套接字通知
发布时间:2006-05-05 19:03:29 来源:MSDN 网友评论 0 条本文描述套接字类中的通知函数。这些成员函数都是回调函数,框架调用它们将重要事件通知给套接字对象。通知函数有:
- OnReceive:通过调用 Receive 通知此套接字缓冲区中有需要检索的数据。
- OnSend:通过调用 Send 通知此套接字现在可以发送数据。
- OnAccept:通过调用 Accept 通知此侦听套接字可以接受挂起的连接请求。
- OnConnect:通知此连接套接字其连接尝试已完成:可能成功,也可能存在错误。
- OnClose:通知此套接字它连接的套接字已关闭。
注意: 一个附加的通知函数是 OnOutOfBandData。此通知告诉接收套接字发送套接字有“带外”数据要发送。带外数据是逻辑上独立的通道,与每一对已连接的流式套接字关联。带外通道通常用于发送“紧急”数据。MFC 支持带外数据。使用 CAsyncSocket 类的高级用户可能需要使用带外通道,但 CSocket 类的用户最好不要使用它。更简便的方法是创建另一个套接字来传递这种数据。有关带外数据的更多信息,请参见 Platform SDK 中的 Windows Sockets 规范。
如果从 CAsyncSocket 类派生类,则必须为应用程序感兴趣的网络事件重写通知函数。如果从 CSocket 类派生类,则可以选择是否重写感兴趣的通知函数。也可以使用 CSocket 自身,在此情况下,通知函数默认不执行任何操作。
这些函数都是可重写的回调函数。 CAsyncSocket 和 CSocket 将消息转换成通知,但如果希望使用通知函数,则必须实现它们的响应方式。当套接字被通知有感兴趣的事件(如存在要读取的数据)时,调用通知函数。
MFC 调用通知函数以允许您在套接字被通知时自定义其行为。例如,您可能从 OnReceive 通知函数调用 Receive ,即,当获得有要读取的数据的通知时,可调用 Receive 读取该数据。这种方法不是必需的,但它是一个有效的方案。另一种办法是,可以使用通知函数来跟踪进度、打印 TRACE 消息等。
可以通过在派生的套接字类中重写通知函数并提供实现来利用这些通知。有关实现示例,请参见 MFC 示例 CHATTER 和 CHATSRVR 中的通知函数重写。
在如接收或发送数据的操作过程中, CSocket 对象变为同步。在同步状态中,当前套接字等待它想要的通知的同时,对应其他套接字的通知都排队等候。(例如,在 Receive 调用过程中,套接字想要读取通知)。一旦套接字完成其同步操作并再次变为异步时,其他套接字才能开始接收排队的通知。
注意: 在 CSocket 中,永远都不调用 OnConnect 通知函数。对于连接,则调用 Connect ,它将在连接完成时返回(成功或者错误)。如何处理连接通知是 MFC 实现的细节。
有关每个通知函数的详细信息,请参见“MFC 参考”中 CAsyncSocket 类下的该函数。有关 MFC 示例的源代码和信息,请参见 MFC 示例。
- 推荐阅讯
- 修练8年C++面向对象程序设计之体会
- C/C++中数组和指针类型的关系的入门教程
- C++/CLI中实现singleton模式
- WinCE下用C++实现掌上电脑遥控TV
- c/c++中的字符指针数组,指向指针的指针的含
- VC++实现混合静态分裂视窗的方法
- 奇技淫巧C++之语法魔力球
- 漫谈C++ Builder多线程编程技术
- Windows Sockets:从套接字类派生
- C++:最强大的.NET语言之装箱
- 阅读排行
- 1.Borland 发布C++ Builder 2006 RAD 环境
- 2.C/C++程序员应聘常见面试题深入剖析
- 3.Visual C++常用数据类型转换详解
- 4.C++中的 static 关键字
- 5.利用VC++实现局域网实时视频传输
- 6.浅谈C/C++内存泄漏及其检测工具
- 7.英国投票否决C++/CLI 微软强攻ISO标准受挫
- 8.VC++下用MSComm控件实现串口通讯
- 9.伪随机数生成及在VC++中的实现
- 10.VC++编程实现对波形数据的频谱分析
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
