vcsocket网络通信编程.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?第2章 MFC Socket编程2.1 MFC及其Socket类2.2 C/S模式下网络程序的Socket通信实例2.3 与第三方程序的互通及Socket编程的本质2.1 MFC及其Socket类2.1.1 MFC简介MFC,微软基础类(Microsoft?Foundation?Classes),同VCL类似,是一种应用框架(Application Framework),随微软Visual C++ 开发工具发布。MFC是很庞大的,如最新版本中包含了大约两百多个不同的类(如图2.1所示)。2.1.1 MFC简介2.1.2 MFC中的Socket类1. CAsyncSocket类CAsyncSocket类是从MFC的根类CObject派生出来的,它在较低的级别上封装Windows Socket API。CAsyncSocket类在MFC套接字类中的继承位置如图2.2所示。CAsyncSocket类的成员函数第2章表2.1.rtf如表第2章表2.1.rtf2.1第2章表2.1.rtf所示。2.1.2 MFC中的Socket类2.CSocket类及其相关类(1)CSocket类。CSocket类是从CAsyncSocket派生而来的,它继承了CAsyncSocket对Windows Socket API的封装。(2)CSocket与CArchive、CSocketFile类的配合使用。用CSocket类编写网络程序,既可以使用如CAsyncSocket类网络程序一样的Send和Receive函数来收发信息,也可以与CSocketFile类和CArchive类一起来管理对数据的发送和接收。?2.2 C/S模式下网络程序的Socket通信实例2.2.1 客户—服务器方式(C/S模式)1.网络软件的通用体系结构客户(Client)和服务器(Server)是指通信中所涉及的两个应用进程。客户—服务器方式所描述的是进程之间服务和被服务的关系。在图2.3中,主机A运行客户程序而主机B运行服务器程序。2.2.1 客户—服务器方式(C/S模式)2.最简单的Socket通信流程一个只有客户方向服务方发信息的单向通信,并且也只有客户方会主动提出断开连接的最简单的情形(相反过程的原理是一样的),其双方Socket之间的关系如图2.4所示。2.2.1 客户—服务器方式(C/S模式)由上面这个十分简单的过程很容易得出最简单的Socket通信流程,如图2.5所示。2.2.2 CAsyncSocket类编程基础1.对象分析由2.2.1节分析的最简单的Socket通信流程可见,要实现这样一个完整流程需要三个套接字对象:客户端一个(我们称为“客户Socket”),服务器端两个(一个用于监听,称为“监听Socket”;另一个用于接收客户发来的信息,称为“服务Socket”),这三个套接字对象对应三个Socket类,都继承自CAsyncSocket,分别给它们取名如表2.2所示。Socket对象类 名客户SocketCClientSocket监听SocketCListenSocket服务SocketCServerSocket2.2.2 CAsyncSocket类编程基础2.创建工程和套接字对象首先创建客户端工程。打开Visual Studio 2008环境,建立一个新的基于对话框的MFC项目,项目名称为ChatClient,接着一直单击“下一步”按钮,直到设置程序“高级功能”对话框,如图2.6所示。2.2.2 CAsyncSocket类编程基础创建类名为CClientSocket的客户Socket对象,下面给工程添加类,选择菜单命令“项目”→“添加类”,如图2.7所示。2.2.2 CAsyncSocket类编程基础在弹出的“添加类”对话框中选择“MFC类”项,单击“添加”按钮(如图2.8所示)。2.2.2 CAsyncSocket类编程基础在“MFC类向导”对话框中输入类名CClientSocket,向导将自动为这个添加的类生成名为“ClientSocket.h”和“ClientSocket.cpp”的头文件和源文件,如图2.9所示。2.2.2 CAsyncSocket类编程基础单击“完成”按钮,可以在类视图中看到刚刚添加的类CClientSocket(如图2.10所示)。2.2.2 CAsyncSocket类编程基础3.理清程序文件的组织结构(1)客户端程序文件。打开已经创建好的客户端工程,在解决方案资源管理器中可以看到工程的所有程序文件(如图2.11所示)。2.2.2 CAsyncSocket类编程基础全部程序文件可以分成三类:第一类是.h后缀的头文件,用来集中声明定义程序中用到的类、变量、函数、宏等;第二类是.cpp后缀的源文件,

文档评论(0)

118books + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档