1 / 64
文档名称:

MFC网络编程.ppt

格式:ppt   页数:64页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

MFC网络编程.ppt

上传人:ranfand 2016/6/22 文件大小:0 KB

下载得到文件列表

MFC网络编程.ppt

相关文档

文档介绍

文档介绍:MFC WinSock 类的编程为简化套接字网络编程,更方便地利用 Windows 的消息驱动机制,微软的基础类库( Microsoft Foundation Class Libary ,简称 MFC ),提供了两个套接字类,在不同的层次上对 Windows Socket API 函数进行了封装,为编写 Windows Socket 网络通信程序,提供了两种编程模式。 1 1 CAsyncSocket 类,在很低的层次上对 Windows Sockets API 进行了封装。它的成员函数和 Windows Sockets API 的函数调用直接对应。一个 CAsyncSocket 对象代表了一个 Windows 套接字。它是网络通信的端点。除了把套接字封装成 C++ 的面向对象的形式供程序员使用以外,这个类唯一所增加的抽象就是将那些与套接字相关的 Windows 消息变为 CAsyncSocket 类的回调函数。 2 2 CSocket 类,从 CAsyncSocket 类派生,是对 Windows Sockets API 的高级封装。 CSocket 类继承了 CAsyncSocket 类的许多成员函数,用法一致。 CSocket 类的高级表现在三个方面: (1) CSocket 结合 archive 类来使用套接字。(2) CSocket 管理了通信的许多方面,如字节顺序问题和字符串转换问题。(3) CSocket 类为 Windows 消息的后台处理提供了阻塞的工作模式。 3 3 这两个类提供了事件处理函数,编程者通过对事件处理函数进行重载,可方便地对套接字发送数据、接收数据等事件进行处理。同时, 可以结合 MFC 的其它类来使用这两个套接字类, 并利用 MFC 的各种可视化向导,从而大大简化了编程。在 MFC 中,有一个名为 的包含文件,在这个文件中定义了 CAsyncSocket , CSocket ,和 CSocketFile 这三个套接字类。 4 4 CasyncSocket 类 CAsyncSocket 类从 Cobject 类派生而来,如图 1所示: 图 1 CAsyncSocket 类的派生关系 5 5 创建 CasyncSocket 类对象本书将 CAsyncSocket 类对象称为异步套接字对象。创建异步套接字对象一般分为两个步骤,首先构造一个 CAsyncSocket 对象,再创建该对象的底层的 SOCKET 句柄。 CAsyncSocket 类的构造函数,创建一个新的空 CAsyncSocket 类套接字对象, 构造函数不带参数。然后必须调用它的 Create 成员函数,来创建底层的套接字数据结构,并绑定它的地址。 6 6 有两种使用方法,会在不同的位置创建。(1)如: CAsyncSocket aa; ( 。。。。。。); (2)如: CAsyncSocket * Pa; Pa = new CAsyncSocket; Pa->Create( 。。。。。。); 7 7 CAsyncSocket 类的 Create() 成员函数, 创建该对象的底层套接字句柄,决定套接字对象的具体特性。调用格式为: BOOL Create( UINT nSocketPort=0 , Int nSocketType = SOCK_STREAM, Long Ievent = FD_READ | FD_WRITE | FD_OOB |EPT |FD_CONNECT | FD_CLOSE, LPCTSTR lpszSocketAddress = NULL ); 8 8 举例:创建一个使用 27 端口的流式异步套接字对象。 CAsyncSocket * pSocket = new CAsyncSocket; int nPort = 27; pSocket->Create( nPort, SOCK_STREAM ); 9 9 关于 CAsyncSocket 类可以接受并处理的消息事件 Ievent 可以选用的六个符号常量是在 文件中定义的。#define FD_READ 0x01 #define FD_WRITE 0x02 #define FD_OOB 0x04 #define EPT 0x08 #define FD_CONNECT 0x10 #define FD_CLOSE