- 1、本文档共109页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络编程实用教程第二版_第5篇 章MFC WinSock类的编程.ppt
第5章 MFC WinSock类的编程;为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库(Microsoft Foundation Class Libary,简称MFC),提供了两个套接字类,在不同的层次上对Windows Socket API函数进行了封装,为编写Windows Socket网络通信程序,提供了两种编程模式。 ; CAsyncSocket类,在很低的层次上对Windows Sockets API进行了封装。
它的成员函数和Windows Sockets API的函数调用直接对应。一个CAsyncSocket对象代表了一个Windows套接字。它是网络通信的端点。除了把套接字封装成C++的面向对象的形式供程序员使用以外,这个类唯一所增加的抽象就是将那些与套接字相关的Windows消息变为CAsyncSocket类的回调函数。 ;CSocket类,从CAsyncSocket类派生,是对Windows Sockets API的高级封装。CSocket类继承了CAsyncSocket类的许多成员函数,用法一致。CSocket类的高级表现在三个方面:
(1)CSocket结合archive类来使用套接字。
(2)CSocket管理了通信的许多方面,如字节顺序问题和字符串转换问题。
(3)CSocket类为Windows消息的后台处理提供了阻塞的工作模式。 ; 这两个类提供了事件处理函数,编程者通过对事件处理函数进行重载,可方便地对套接字发送数据、接收数据等事件进行处理。同时,可以结合MFC的其它类来使用这两个套接字类,并利用MFC的各种可视化向导,从而大大简化了编程。
在MFC中,有一个名为afxSock.h的包含文件,在这个文件中定义了CAsyncSocket,CSocket,和CSocketFile这三个套接字类。 ;本书将CAsyncSocket类对象称为异步套接字对象。创建异步套接字对象一般分为两个步骤,首先构造一个CAsyncSocket对象,再创建该对象的底层的SOCKET句柄。
1.创建空的异步套接字对象
通过调用CAsyncSocket类的构造函数,创建一个新的空CAsyncSocket类套接字对象,构造函数不带参数。然后必须调用它的Create成员函数,来创建底层的套接字数据结构,并绑定它的地址。 ;有两种使用方法,会在不同的位置创建。
(1)如:CAsyncSocket aa;
aa.Create(。。。。。。);
(2)如: CAsyncSocket* Pa;
Pa = new CAsyncSocket;
Pa-Create(。。。。。。); ;2.创建异步套接字对象的底层套接字句柄
通过调用CAsyncSocket类的Create()成员函???,创建该对象的底层套接字句柄,决定套接字对象的具体特性。调用格式为:
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 ); ;举例:创建一个使用27端口的流式异步套接字对象。
CAsyncSocket* pSocket = new CAsyncSocket;
int nPort = 27;
pSocket-Create( nPort, SOCK_STREAM ); ;1.6种与套接字相关的事件与通知消息
参数Ievent可以选用的六个符号常量是在winsock.h文件中定义的。
#define FD_READ 0x01
#define FD_WRITE 0x02
#define FD_OOB 0x04
#define FD_ACCEPT 0x08
#define FD_CONNECT 0x10
#define FD_CLOSE 0x20 ;他们代表MFC套接字对象可以接受并处理的六种网络事件,当事件发生时,套接字对象会收到相应的通知消息,并自动执行套接字对象响应的事件处理函数。
(1)FD_READ事件通知:通知有数据可读。
(2)FD_WRITE事件通知:通知可以写数据。
(3)FD_ACCEPT事件通知:通知监听套接字有连接请求可以接受。
(4)FD_CONNECT事件通知:通知请求连接的套接字,连接的要求已被处理。
(5)FD_CLOSE事件通知:通知套
您可能关注的文档
- 综合日语第22课 第二单元教材课程.ppt
- 综合日语第22课第一单元培训资料.ppt
- 综合日语第23课 第三单元教材课程.ppt
- 综合日语第23课 第二单元教材课程.ppt
- 综合日语第23课第一单元知识讲稿.ppt
- 综合日语第24课第三单元知识讲稿.ppt
- 综合日语第24课第二单元讲解材料.ppt
- 综合日语第25课 第一单元知识介绍.ppt
- 综合日语第25课 第三单元讲解材料.ppt
- 综合日语第25课 第二单元知识介绍.ppt
- 《GB/T 32879-2025电动汽车更换用电池箱连接器》.pdf
- 中国国家标准 GB/T 21649.2-2025粒度分析 图像分析法 第2部分: 动态图像分析法.pdf
- 中国国家标准 GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定》.pdf
- GB/T 20899.9-2025金矿石化学分析方法 第9部分:碳量的测定.pdf
- 《GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法》.pdf
- GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- 中国国家标准 GB/T 33820-2025金属材料 延性试验 多孔状和蜂窝状金属高速压缩试验方法.pdf
- GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试.pdf
- 《GB/T 45910-2025信息技术 生物特征识别模板保护方案的性能测试》.pdf
最近下载
- 《成人住院患者静脉血栓栓塞症的预防护理2023版团体标准》解读.pptx
- 开题报告医学PPT模板.pptx VIP
- 2011中考英语作文指导及范文.doc VIP
- 高考英语总复习-第二部分-语法填空专项突破-专题二-无提示词填空-第六讲-并列句和状语从句-市赛课公.pptx VIP
- 工会招聘考试试题及答案.doc VIP
- 河北省中考英语复习指导课件.pptx VIP
- 供应商评级管理办法.docx VIP
- 2025年人教版高一下学期期末考试数学试题与答案解析(共五套) .pdf VIP
- 2025年河北沧州渤海新区黄骅市事业单位公开招聘工作人员130名笔试备考试题及答案解析.docx VIP
- 党纪党规知识测试题及答案_党规知识测试题及答案.doc VIP
文档评论(0)