
第5章 MFC WinSock类的编程 5.1 CAsyncSocket类 5.2 CSocket类 5.3 CSocket类的编程模型 5.4 用CAsyncSocket类实现程? 用CSocket类实现程 第5章 MFC Winsock类的编程 为甲接字网络编程,更方便地运用Windows 的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,糉C),提供了 两赣字类,在不同的层次上对Windows Socket API函数进行了封装,为编写Windows Socket网络 通信程嗅供了两种编程范式。 第5章 MFC Winsock类的编程 CAsyncSocket类,在最低的层次上对Windows Sockets API进行了封装。 它的成员函数跟Windows Sockets API的函数当接对 应。一竬ncSocket对享了一竏ows套接字。它 是网络通信的端点。除了把套接字封装成C++的面衔 式供程泄用以外,这辅一所阅抽锨将这些 与套接字相关的Windows消息变为CAsyncSocket类的回凳 第5章 MFC Winsock类的编程 CSocket类,从CAsyncSocket类派生,是对Windows Sockets API的高级封装。
CSocket类继承了CAsyncSocket类的 许多成员函数,用法一致。CSocket类的高级表现在三告: (1)CSocket结合archive类来使用套接字。 (2)CSocket管理了通信的许多方面网络编程实用教程(第2版),如字符顺锈和 字符串转换问题。 (3)CSocket类为Windows消息的害理提供了阻塞的 工捉。 第5章 MFC Winsock类的编程 这两羔供了事件处理函数,编程者通过对事件处 理函数进行重载,可便于地对套接字发送数据、接收数据 等事件进行处理。同时,可以结合MFC的其他类来使用这 两赣字类,并利用MFC的干视化犀从而醇吮喑獭 在MFC中,有一釜afxSock.h的包括文件,在这讣卸ㄒ辶薈AsyncSocket,CSocket,和CSocketFile这 三赣字类。 5.1 CasyncSocket类 CAsyncSocket类从Cobject类派生而来网络编程实用教程(第2版),如下图图示: 5.1.1 使用CAsyncSocket类的通常方法 网络应用程秀采用用户/服危式,它们使用使用 CAsyncSocket类编程的方法有所不同,参表5.1。 ? 3 4 5 6 7 8 //构造一改空的套接字CAsyncSocket sockRecv; //接收连接请莐Srvr.Accept(sockRecv); //接收数据 sockRecv.Receive(pBuf, nLen); //发送数据 sockRecv. Send(pBuf, nLen); //关闭套接字对蟘kRecv.Close( ); //发送数据 sockClient.Send(pBuf, nLen); //接收数据 sockClient.Receive(pBuf, nLen); //关闭套接字对蟘kClient.Close( ); 号 服唯Server) //构造一赣字 CAsyncSocket sockSrvr; //创建SOCKET句柄,敖指定的网关 sockSrvr.Create(nPort); //凄听,时刻准备接受连接请莄kSrvr.Listen( ); 客户机(Client) //构造一赣字 CAsyncSocket sockClient; //创建SOCKET句柄,使用默认参数 sockClient.Create( ); //请怯到服蝧ockClient.Connect(strAddr, nport); 5.1.2 创建CasyncSocket类对鲜榻獵AsyncSocket类对溪异步套接字对洗建异 步套接字对香分为两歌,首先构造一竬ncSocket 对腺创建该对献层的SOCKET句柄。

1.创建空的轮询套接字对瞎AsyncSocket类的构造函数,创建一改空 CAsyncSocket类套接字对瞎造函数不带参数。然弘邓腃reate成员变量,来构建底层的套接字数据结构,并皑它的地址。 5.1.2 创建CasyncSocket类对狭街质褂梅椒ǎ嵩诓煌奈恢么唇ā (1)如:CAsyncSocket aa; aa.Create(。。。。。。); (2)如: CAsyncSocket* Pa; Pa = new CAsyncSocket; Pa->Create(。。。。。。); 5.1.2 创建CasyncSocket类对袭创建异步套接字对献层套接字句柄 通过礎syncSocket类的Create()成员函数,创建该对系撞闾捉幼志浔捉幼侄韵咛逄匦浴5 BOOL Create( UINT nSocketPort=0, Int nSocketType = SOCK_STREAM, Long Ievent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT |FD_CONNECT | FD_CLOSE, LPCTSTR lpszSocketAddress = NULL ); 5.1.2 创建CasyncSocket类对腺例:创建一该27端口的领步套接字对螩AsyncSocket* pSocket = new CAsyncSocket; int nPort = 27; pSocket->C
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-134627-1.html
更像是一个小帮派的首领
集体向520万刷起来集体心意送给烊烊生日礼物#易烊千玺##易烊千玺真的很不错##全员即刻加速1128迈#
德国总理将访华
宋茜森林的精灵