网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
对MFC封装Windows通讯API的研究
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

一、引言
     Internet进行网际间通讯,在WWW浏览、FTP、Gopher这些常规服务,以及在网络电话、多媒体会议等这些对实时性要求严格的应用中成为研究的热点,而且已经是必需的了。Windows环境下进行通讯程序设计的最基本方法是应用WindowsSockets实现进程间的通讯,为此微软提供了大量基于WindowsSockets的通讯API,如WinSockAPI、WinInetAPI和ISAPI,并一直致力于开发更快、更容易的通讯API,将其和MFC集成在一起以使通讯编程越来越容易。
   MFC是VC编程环境最重要的组成部分,它为用户提供了一大批预先定义的类和成员函数,封装了大量的WindowsAPI。同时VC环境提供了与MFC对象和代码一起工作的专用工具:AppStudio源程序编辑器、AppWizard和ClassWizard。应用MFC,可以使Windows程序员用较少的时间和精力开发出复杂的通讯应用程序

   本文根据笔者自己在开发实时网络音频工具FreeTalk过程中的一些经验,介绍Windows环境下的常用API和封装它们的MFC类,重点介绍使用MFC的CAsyncsocket和CSocket类编写网络通讯程序的方法,这两个类封装了WinSockAPI,并使他们更容易使用和更适应于MFC编程环境。

二、Windows环境下的通讯API和相应的MFC类
   1.WindowsSockets(WinSock)API
   WindowsSockets定义了Windows的网络编程接口,它基于加利福尼亚大学伯克利分校的伯克利UnixSockets。WindowsSockets既包括BSD风格的例程,还加入了Windows的扩展部分,例如用于消息驱动的扩展函数。WindowsSockets可以运行在许多网络协议之上,包括TCP/IP、XNS、DECNet、IPX/SPX等。在Win32环境下,WindowsSockets提供线程安全。通过微软与标准组织的努力,为WinSock定义了应用程序设计接口(WinSockAPI),可以非常方便地利用下层的网络协议(如TCP/IP)进行网络通讯。

    通过提供两个类CAsyncSocket和CSocket,MFC支持使用WinSockAPI通讯程序设计。MFC把复杂的WinSockAPI封装到类里,这使得编写应用程序更容易。CAsyncSocket类逐个封装了WinSockAPI,为高级网络程序员提供了更加有力而灵活的方法。这个类基于程序员了解网络通讯的假设,目的是为了在MFC中使用WinSock,程序员有责任处理诸如阻塞、字节顺序和在Unicode与MBCS间转换字符的任务。为了给程序员提供更方便的接口以自动处理这些任务,MFC给出了CSocket类,这个类是由CAsyncSocket类继承下来的,它提供了比CAsyncSocket更高层的WinSockAPI接口。Csocket类和CsocketFile类与Carchive类一起合作来管理发送和接收的数据,这使管理数据收发更加便利。CSocket对象提供阻塞模式,这对于Carchive的同步操作是至关重要的。阻塞函数[比如Receive()、Send()、ReceiveFrom()、SendTo()和Accept()]直到操作完成后才返回控制权,因此如果需要低层控制和高效率,就使用CasyncSock类;如果需要方便,则可使用Csocket类。2.Win32Internet(WinInet)API

    微软公布了一些使Internet应用程序的设计比以前更快、更容易的API:WinInetAPI,它提供了中高层通信函数,这使访问主要的Internet协议变得相当容易。这些函数在程序员和WinSock驱动之间提供了隔离层。有4类WinInetAPI函数:通用WinInet函数、WinInet文件传输协议(FTP)函数、WinInetGopher函数、WinInet超文本传输协议(HTTP)函数。

    事实上,MFC把WinInetAPI和ActiveX技术封装进类,使Internet编程更加容易,这些类包括CInternetSession、CInternetConnection、CInternetFile、CHttpConnection、CHttpFile、CGopherFile、CFtpConnection、CGopherConnection、CFileF

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号