CAsyncScoket

CObject
 └CAsyncSocket

CAsyncSocket对象表示一个Windows Socket--一个网络通信的末端。CAsyncSocket类封闭了Windows套接字API,对想使用与MFC连接的Windows套接字的程序员提供了一个面向对象的抽象化概念。
此类是假设已经理解了网络的通信的前提下的。负责处理块、字节排序差异以及Unicode和多个字符集(MBCS)串的对话。如果想要一个更方便的处理这些问题的接口,请参阅CSocket类。
要使用一个CAsyncSocket对象,调用它的构造程序,然后调用Create函数,创建一个基础套接字句柄(SOCKET类型),除了接收型套接字之外。对于一个服务器套接字调用Listen成员函数,对于一个客户套接字调用Connect成员函数。在接收一个连接请求时,服务器套接字应该调用一个Accept函数。使用保留的CAsyncSocket函数解决套接字之间的通信。完成之后,如果它是在堆上被创建的,就废弃掉CAsyncSocket对象。析构程序自动调用Close函数。SOCKET数据类型在联机文档“Visual C++程序员指南”中的“Windows套接字背景”章节中有所描述。
如果要了解更多信息,请参阅联机文档 “Visual C++程序员指南”中的“Windows套接字:使用CAsyncSocket类”和相关章节以及联机文档“Win32 SDK”中的“Windows套接字2的概述”和“Windows套接字编程指南”。
#include <afxsock.h>

请参阅:CSocket, CSocketFile


CAsyncSocket类的成员

构造函数
CAsyncSocket构造CAsyncSocket对象
Create创建套接字

属性
Attach对CAsyncSocket对象附加套接字句柄
Detach从CAsyncSocket对象除去套接字句柄
FromHandle返回CAsyncSocket对象的指针,给出套接字句柄
GetLastError获得上一次运行失败的状态
GetPeerName获得与套接字连接的对等套接字的地址
GetSockName获得套接字的本地名
GetSockOpt获得套接字选项
SetSockOpt设置套接字选项

运行
Accept接受套接字上的连接
AsyncSelect请求对于套接字的事件通知
Bind与套接字有关的本地地址
Close关闭套接字
Connect对对等套接字建立连接
IOCtl控制套接字模式
Listen建立套接字,侦听即将到来的连接请求
Receive从套接字接收数据
ReceiveFrom恢复数据报并且存储资源地址
Send给连接套接字发送数据
SendTo给特定目的地发送数据
ShutDown使套接字上的Send和/或Receive调用无效

覆盖通知函数
OnAccept通知侦听套接字,它可以通过调用Accept,接受挂起连接请求
OnClose通知套接字,关闭对它的套接字连接
OnConnect通知连接套接字,连接尝试已经完成,无论成功或失败
OnOutOfBandData通知接收套接字,在套接字上有带外数据读入,通常是忙消息
OnReceive通知侦听套接字,通过调用Receive恢复数据
OnSend通知套接字,通过调用Send,它可以发送数据

数据成员
m_hSocket指定附加在此CAsyncSocket对象上的SOCKET句柄