- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MFC套接字编程 杨 明 紫金学院计算机系 内容 MFC编程框架 CAsyncSocket类编程 CSocket类编程 MFC编程 MFC概述 MFC类库是C++类库,构成了MFC编程框架。 这些类分别封装了Win32应用程序编程接口、应用程序的概念、OLE特性、以及ODBC和DAO数据访问的功能。 MFC类具有继承关系,有虚拟函数和动态约束,并提供了MFC的开发模板。 MFC框架从总体上定义了应用程序的轮廓,并提供了用户接口的标准实现方法,程序员只须通过预定义的接口把具体应用程序特有的东西填入这个轮廓,就能建立Windows下的应用程序。 典型的MFC应用程序的构成 MFC对象间的交互作用关系 MFC消息处理 消息映射 就是让程序员指定用来处理某个消息的某个MFC类 使用MFC提供的ClassWizard类向导,可以在处理消息的类中添加处理消息的成员函数,方便地实现消息映射。 在此基础上,程序员可将自己的代码添加到这些消息处理函数中,实现所希望的消息处理。 如果派生类要覆盖基类的消息处理函数,就用ClassWizard在派生类中添加一个消息映射条目,用同样的原型定义一个函数,然后实现该函数。 MFC的消息与映射处理 Windows消息 以前缀 “WM_”打头的消息,Windows消息直接被送给MFC的窗口过程处理,窗口过程再调用对应的消息处理函数。 控制通知消息,是控制子窗口送给父窗口的通知消息。窗口过程调用对应的消息处理函数。 命令消息,这是来自菜单、工具条按钮、加速键等用户接口对象的WM_COMMAND通知消息,属于应用程序自己定义的消息。 MFC消息映射的实现方法 程序员可以使用MFC的类向导ClassWizard来实现消息映射。类向导在源码中添加一些消息映射的内容,并声明和实现消息处理函数。 MFC WinSock类的编程 MFC WinSock类 为简化套接字网络编程,更方便地利用Windows的消息驱动机制,微软的基础类库MFC,提供了两个套接字类,在不同的层次上对Windows Socket API函数进行了封装,提供了两种编程模式。 CAsyncSocket类和CSocket类 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消息的后台处理提供了阻塞的工作模式。 六种套接字相关的事件与通知消息 当事件发生时,套接字对象会收到相应的通知消息,并自动执行套接字对象响应的事件处理函数。 FD_READ事件通知:通知有数据可读。 FD_WRITE事件通知:通知可以写数据。 FD_ACCEPT事件通知:通知监听套接字有连接请求可以接受。 FD_CONNECT事件通知:通知请求连接的套接字,连接的要求已被处理。 FD_CLOSE事件通知:通知套接字已关闭。 FD_OOB事件通知:通知将有带外数据到达。 套接字类的通知函数 CAsyncSocket类这六个网络事件对应的事件处理函数 virtual void OnReceive(int nErrorCode); 对应 FD_READ事件 virtual void OnSend(int nErrorCode); 对应 FD_WRITE事件 virtual void OnAccept(int nErrorCode); 对应 FD_ACCEPT事件 virtual void OnConnect(int nErrorCode);对应 FD_CONNECT事件 virtual void OnClose(int nErrorCode); 对应 FD_CLOSE事件 virtual void OnOutOfBandData(int nErrorCode); 对应 FD_OOB事件 重载套接字对象的回调函数 MFC框架自动调用通知函数,使得你可以在套接字被通知的时
您可能关注的文档
- 第三讲档案馆工作基础测试分解.docx
- 第4章_专家控制分解.ppt
- 第4章++正弦波振荡器分解.ppt
- 第三讲地质环境系统演化的一般原理分解.ppt
- 第4章+同步网分解.ppt
- 第三讲第1课时绿叶中色素的提取和分离(实验课)分解.ppt
- 互联网+大学安全教育20160606综述.pptx
- 第三讲-第三章桩基础2009分解.ppt
- 第三讲公立医院新财务会计制度实施过程中存在的问题及面临的困难分析。分解.ppt
- 第4章1大气污染分解.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
最近下载
- 2024公务员考试三农知识题库及参考答案【巩固】.docx VIP
- 2024公务员考试三农知识题库加答案.docx VIP
- 2023年拟任县处级党政领导职务政治理论水平任职资格考试题库(含答案).pdf VIP
- 2024公务员考试三农知识题库及完整答案(必刷).docx VIP
- 外研版(2019)必修第二册 Unit 2 Let's celebrate! Developing Ideas 教案.docx
- 电信法律法规类题应知应会测试卷及答案.doc
- 边境安全现状.pptx VIP
- 印刷服务合同 .docx VIP
- 可持续发展理念下企业实施ESG的研究.pdf VIP
- 《静女》《涉江采芙蓉》《鹊桥仙》联读教学设计2023—2024学年统编版高中语文必修上册.docx
文档评论(0)