《MFC网络编程》PPT课件

《MFC网络编程》PPT课件

ID:41359133

大小:942.52 KB

页数:64页

时间:2019-08-22

《MFC网络编程》PPT课件_第1页
《MFC网络编程》PPT课件_第2页
《MFC网络编程》PPT课件_第3页
《MFC网络编程》PPT课件_第4页
《MFC网络编程》PPT课件_第5页
资源描述:

《《MFC网络编程》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MFCWinSock类的编程为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(MicrosoftFoundationClassLibary,简称MFC),提供了两个套接字类,在不同的层次上对WindowsSocketAPI函数进行了封装,为编写WindowsSocket网络通信程序,提供了两种编程模式。CAsyncSocket类,在很低的层次上对WindowsSocketsAPI进行了封装。它的成员函数和WindowsSocketsAPI的函数调用直接对应。一个CAsyncSocket对象代表了一个Windows套接字。它是

2、网络通信的端点。除了把套接字封装成C++的面向对象的形式供程序员使用以外,这个类唯一所增加的抽象就是将那些与套接字相关的Windows消息变为CAsyncSocket类的回调函数。CSocket类,从CAsyncSocket类派生,是对WindowsSocketsAPI的高级封装。CSocket类继承了CAsyncSocket类的许多成员函数,用法一致。CSocket类的高级表现在三个方面:(1)CSocket结合archive类来使用套接字。(2)CSocket管理了通信的许多方面,如字节顺序问题和字符串转换问题。(3)CSocket类为Windows

3、消息的后台处理提供了阻塞的工作模式。这两个类提供了事件处理函数,编程者通过对事件处理函数进行重载,可方便地对套接字发送数据、接收数据等事件进行处理。同时,可以结合MFC的其它类来使用这两个套接字类,并利用MFC的各种可视化向导,从而大大简化了编程。在MFC中,有一个名为afxSock.h的包含文件,在这个文件中定义了CAsyncSocket,CSocket,和CSocketFile这三个套接字类。CasyncSocket类CAsyncSocket类从Cobject类派生而来,如图1所示:图1CAsyncSocket类的派生关系创建CasyncSocket

4、类对象本书将CAsyncSocket类对象称为异步套接字对象。创建异步套接字对象一般分为两个步骤,首先构造一个CAsyncSocket对象,再创建该对象的底层的SOCKET句柄。1.创建空的异步套接字对象通过调用CAsyncSocket类的构造函数,创建一个新的空CAsyncSocket类套接字对象,构造函数不带参数。然后必须调用它的Create成员函数,来创建底层的套接字数据结构,并绑定它的地址。有两种使用方法,会在不同的位置创建。(1)如:CAsyncSocketaa;aa.Create(。。。。。。);(2)如:CAsyncSocket*Pa;Pa

5、=newCAsyncSocket;Pa->Create(。。。。。。);2.创建异步套接字对象的底层套接字句柄通过调用CAsyncSocket类的Create()成员函数,创建该对象的底层套接字句柄,决定套接字对象的具体特性。调用格式为:BOOLCreate(UINTnSocketPort=0,IntnSocketType=SOCK_STREAM,LongIevent=FD_READ

6、FD_WRITE

7、FD_OOB

8、FD_ACCEPT

9、FD_CONNECT

10、FD_CLOSE,LPCTSTRlpszSocketAddress=NULL);举例:创建一个使用

11、27端口的流式异步套接字对象。CAsyncSocket*pSocket=newCAsyncSocket;intnPort=27;pSocket->Create(nPort,SOCK_STREAM);关于CAsyncSocket类可以接受并处理的消息事件1.六种套接字相关的事件与通知消息参数Ievent可以选用的六个符号常量是在winsock.h文件中定义的。#defineFD_READ0x01#defineFD_WRITE0x02#defineFD_OOB0x04#defineFD_ACCEPT0x08#defineFD_CONNECT0x10#defi

12、neFD_CLOSE0x20他们代表MFC套接字对象可以接受并处理的六种网络事件,当事件发生时,套接字对象会收到相应的通知消息,并自动执行套接字对象响应的事件处理函数。(1)FD_READ事件通知:通知有数据可读。(2)FD_WRITE事件通知:通知可以写数据。(3)FD_ACCEPT事件通知:通知监听套接字有连接请求可以接受。(4)FD_CONNECT事件通知:通知请求连接的套接字,连接的要求已被处理。(5)FD_CLOSE事件通知:通知套接字已关闭。(6)FD_OOB事件通知:通知将有带外数据到达。2.MFC框架对于六个网络事件的处理当上述的网络事件

13、发生时,MFC框架作何处理呢?按照Windows的消息驱动机制,MFC框架应当把

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。