设为首页 加入收藏

TOP

16.4.1 CAsyncSocket类
2013-10-07 13:11:25 来源: 作者: 【 】 浏览:73
Tags:16.4.1 CAsyncSocket

16.4  MFC对WinSocket API的封装

MFC提供两个类支持使用Windows Sockets API进行网络编程(www.cppentry.com)。类CAsyncSocket一对一地封装了Windows Sockets API。类CSocket提供了从CArchive对象中序列化数据的Sockets功能。本节将介绍这两个类及其使用。

16.4.1  CAsyncSocket类

为了简化套接字编程(www.cppentry.com),MFC使用CAsyncSocket类封装了Windows Sockets API。使用此类可以直接使用Sockets API编写灵活的程序,同时又可以方便地处理网络事件。除了使用C++(www.cppentry.com)将Sockets包装成面向对象的形式外,类还将与Sockets相关的Windows消息转换成事件通知。CAsyncSocket类的部分函数与Windows Socket API的函数是一对一的,但是简化了事件通知的开发过程。如表16-4所示为CAsyncSocket类中封装的通知事件。

表16-4  CAsyncSocket类的通知事件

< xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

OnAccept()

当服务器套接字接收到客户端套

接字的连接请求,并且调用Accept()

数接收客户端连接请求时,触发此事件

OnClose()

当连接的套接字关闭时,触发此事件

OnConnect()

当客户端套接字完成连接操作时,无论

连接成功还是连接失败都会触发此事件

OnOutOfBandData()

当有带外数据需要读取时,触发此事件

OnReceive()

当套接字调用Receive()函数从对端

套接字接收数据时,触发此事件

OnSend()

当套接字调用Send()函数向对端套接字

发送数据时,触发此事件


上表中列出了CAsyncSocket类封装的通知事件,用户可以通过这些事件直接处理各种情况发生后的操作,而CAsyncSocket对象的函数与前面介绍过的WinSocket API有很多是对应的,用户对WinSocket API的原理理解透彻后,会发现使用CAsyncSocket类的函数进行套接字编程(www.cppentry.com)与使用WinSocket API是类似的。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇16.4.3 CSocket类 下一篇16.6 本章小结

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: