如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
CAsyncSocket类MFC提供的Winsock类MFC的两种编程模式-CAsyncSocket类MFC的两种编程模式-CSocket类在MFC中,CAsyncSocket,CSocket类在afxSock.h中定义源代码在sockcore.cpp中CAsyncSocket类使用CAsyncSocket类的一般步骤说明调用CAsyncSocket对象的其它成员函数,如Send和Receive,执行与其它套接口对象的通信。这些成员函数与WinsockAPI函数在形式和用法上基本是一致的。关闭并清除CAsyncSocket对象。如果在堆栈上创建了套接口对象,当包含此对象的函数退出时,会调用该类的析构函数(用于释放分配给对象的存储空间)清除该对象。在清除该对象之前,析构函数会调用该对象的Close成员函数。如果在堆上使用new操作符创建了套接口对象,可先调用Close成员函数关闭它,再使用delete操作符清除这个对象。使用CAsyncSocket对象编程时应注意的问题一、创建CAsyncSocket类对象(1)一、创建CasyncSocket类对象(2)一、创建CasyncSocket类对象(3)一、创建CasyncSocket类对象(4)二、CAsyncSocket类接受处理的消息事件(1)二、CAsyncSocket类接受处理的消息事件(2)二、CAsyncSocket类接受处理的消息事件(3)二、CAsyncSocket类接受处理的消息事件(4)二、CAsyncSocket类接受处理的消息事件(5)二、CAsyncSocket类接受处理的消息事件(6)三、客户端套接字对象请求连接到服务器端套接字对象(1)三、客户端套接字对象请求连接到服务器端套接字对象(2)四、服务器接受客户机的连接请求(1)三、客户端套接字对象请求连接到服务器端套接字对象(2)三、客户端套接字对象请求连接到服务器端套接字对象(3)三、客户端套接字对象请求连接到服务器端套接字对象(4)五、发送与接收流式数据(1)五、发送与接收流式数据(2)五、发送与接收流式数据(3)五、发送与接收流式数据(4)六、关闭套接字(1)10.Listen()函数Listen( )函数格式如下:BOOLListen(intnConnectionBacklog=5);用于连接的监听,调用成功时返回一个非0值。参数nConnectionBacklog的取值区间为1~5,默认值为5,它指出正在等待连接的最大队列长度。11.OnAccept()函数OnAccept( )函数格式如下:virtualvoidOnAccept(intnErrorCode);该函数是一个需要重载的回调函数,当一个套接口可能需要与另一端建立连接时,可以调用此函数处理相应的消息。参数nErrorCode指出最新的错误代码。六、关闭套接字(2)七、错误处理八、其它成员函数(1)八、其它成员函数(2)八、其它成员函数(3)八、其它成员函数(4)4.Attach()函数Attach( )函数格式如下:BOOLAttach(SOCKEThSocket,longlEvent=FD_READ|FD_WRITE|FD_OOB|FD_ACCEPT|FD_CONNECT|FD_CLOSE);该函数用于将一个套接口句柄连接到一个CAsyncSocket对象实例上,即建立两者的关联,这样就可以实现与另一台计算机的连接了。hSocket参数为套接口句柄。5.Bind()函数该函数用于建立一个本地地址与一个套接口的关联,即绑定。它有两种调用格式:第一种调用格式提供套接口、端口号和地址,使用的是字符串形式的地址,是常用的调用方法;BOOLBind(UINTnSocketPort,LPCTSTRlpszSocketAddress=NULL);第二种调用格式提供SOCKADDR结构类型的地址参数。BOOLBind(constSOCKADDR*lpSockAddr,intnSockAddrLen);6.Detach()函数SOCKETDetach( );该函数的作用是将上一次建立关联的套接口句柄断开,并返回此套接口句柄。7.FromHandle( )函数static*PASCALFromHandle(SOCKEThSocket);hSocket参数指定一个套接口的句柄。函数的作用:返回与套接口关联的CAsyncSocket对象的指针。如果没有与关联的CAsyncSocket对象,返回值为NULL。8.GetPeerName()函数GetPeerName( )函数格式如下:BOOLGetPeerName(CString&rPeerAddress,UINT&rP