通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>VC编程>>正文 新版上线![旧版]
注:打开慢时请稍等

URL Moniker概述

http://www.iyit.net  日期:2006-5-23 12:26:08  来源:网络转载   点击:

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:使用URL和Moniker
下一篇:创建URL Moniker
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

参加讨论】URL Moniker概述:    这一节中我们先介绍一下URL和Moniker这两个术语。URL (统一资源定位器)是一种方法,我们对它已经比较熟悉了,我们用它从一个站点走到另一站点。它就是使用浏览器时打入的http://www.mycompany.com,URL 有三个主要部分,它们是协议(上例中是http)、主机(www)和域(mycompany.com),你打入的URL 的其余部分即是你标识的资源位置(如目录)。这种机制只所以非常有用,是因为可以无限制地扩展它。例如,如果你想用另一种协议,只需在URL的开头指明即可。Internet有好几个这样的协议,包括HTTP、FTP、Gopher和News。
    注 URL由三个主要部分组成:协议、主机名和域。
    注释 本节中讨论的URL,包括了全部的URL,而不仅仅讨论一般情形。例如,一些URL把host(主机)称为home或别的什么名称,如:http:/home.netscape.com。另外,一些域正变得越来越复杂了,从而可以提供更精确的信息,如,http:/www.wisconsin.edu.k6.us是美国威斯康星州小学校的URL。一些浏览器不要求用户打入协议名,他们简单地为资源核对所有合适的协议。总之,除了URL不同于他们提供的一般例子外,在这一节中,不对它作任何的假定。
    Moniker起源于OLE 2规范。实际上一个Moniker就是系统生成的一个对象,你可以利用该对象找到另一对象或者从中获取数据。某些定制的Moniker还支持其它操作,但任何Moniker都提供两种基本操作。OLE 2规范推出了同步Moniker,也就是说应用程序必须等待,一直到系统已经从指定对象获取了所查找的数据为止。
    Web链接 如果你想在商业性的应用程序中使用URL Moniker,最好先进行一点专业训练。Developer Solutions(开发者解决方案)在http://www.devsolutions.com/ 上开设了一门课程,专门讲述Moniker的问题。三天的课程还讨论了各种其它与OLE相关的主题如DCOM和编组(marshalling)。如果你确实想了解Microsoft提交给ANSI申请批准的OLE 标准的所有信息,可以浏览http://info.gte.com/ftp/doc/activities/x3h7/ by_model/ OLE 2.html。
   将URL和Moniker的思想组合起来,就得到了ActiveX API(从Visual C++4.2版至6.0 版的一部分)提供的URL Moniker。那么ActiveX使用的URL Moniker与OLE 2 规范所说的同步有什么不同呢? 一方面,URL Moniker同时提供了同步和异步捆绑,这在Internet上很重要,因为不知道要花多长时间才能找到所需数据。如果对Internet检索使用同步捆绑,应用程序将被挂起并给客户机造成许多问题(更不用说用户必须坐在那里等待,傻看着没有变化的应用程序)。URLMoniker还提供了一种建立并使用URL的框架,这是OLE 2规范没涉及的领域。如果你要用标准的OLE 2 应用程序访问远程数据,那么它必须支持网络上的UNC(统一命名约定)设备定位。这意味着可能有某种映射的设备,但很显然,Internet定位是不可能做到的。
    创建URL Moniker需要三部分:客户机、系统和传输。客户机部分已经常驻于应用程序中了,本章“使用URL Moniker”一节将进一步讨论客户机端。系统组件指的是操作系统的一部分(你不必担心这部分,因为Microsoft负责处理它)。传输简单地指出你想怎样将信息从服务器发送给客户机。这部分是可变的,它取决于你要实现什么传输方式。在Internet上一般使用TCP。
    注 URL Moniker的三部分是客户机、系统和传输。
    就像本书中到目前为止讨论的其它特殊的OLE功能一样,实现URL Moniker要求你创建或使用某些特殊接口。URL Moniker的客户机、系统和传输三个组件中各有两个接口。下面将对每个接口一一说明。
    注 和其它每种ActiveX编程技术一样,使用URL Moniker也需要增加特殊接口。
    注 请谨记,Windows还提供了实现URL Moniker所需要的两个系统级接口。
    IEnumFormatETC(客户机) 它是可选接口,允许你提供影响捆绑操作的特定协议信息。例如,要提供MIME功能,就需要提供该接口,以便列举应用程序所支持的格式。
    IBindStatusCallback(客户机) 传输将使用该接口来通知客户机的特定事件(如下载过程进度)。更重要的是,一旦从客户机经由系统到传输的捆绑完成,传输即利用IBindSystemCallback::OnStartbinding方法传回一个IBinding接口。
    IBindCtx(系统) 你在开始查找Internet资源时,都必须使用CreatAsyncBindctx这个ActiveX API 调用,给IBindStatusCallback接口(也可经给 IEmumFromatETC接口)传送一个指针。它将返回一个指向IBindCtx接口的指针,负责完成客户机和传输之间的实际捆绑。
    IMoniker(系统) 该接口元素有许多用途。它的主要功能包括:使用GetDisplayName 方法,按人们可读的格式,获取moniker名称,以及使用BindToStorage或BindToObject方法传输具体例子。
    IParseDisplayName(传输) 由ActiveX支持的 MkParseDisplayNameEx()函数的当前版本允许你根据文件或者URL创建Moniker。不过你可能会发现,需要根据其它类型的对象创建moniker。该接口允许你的应用程序与传输一起创建新的moniker类型。你还应该将这些新moniker类注册到注册表中。
    IBinding(传输) 系统创建一个由应用程序想要访问的协议类型所定义的传输。IBinding就是产生的专用协议传输接口。它通过IBindStatusCallback接口,负责分析协议串、 驱动任何下载的数据、以及给应用程序提供状态信息。应用程序能利用IBinding接口启动、终止、暂停或恢复捆绑操作。
     端口号与URL的关系
    我不打算花费过多的时间去让你们学习那些可以留给工程师们解决的问题。但是,如果能在碰到硬件/软件连接问题时,知道一点关于URL中的“http”是如何工作的信息,那么,会使你工作起来更方便。Internet上使用端口号的概念。也就是说,你在与IP地址200.100.100.1连接时,可以选择这个地址的某个特定端口。
    实际上,这个概念是从人们在Internet上使用主机排斥一切的年代遗留下来的。你可以将某个终端插入主机背后的特定端口以获得特定服务。幸运的是,你可以对PC使用同样的概念。如同机器上的串口和并口一样,Internet上的端口也有专用目的。
    从软件角度也很好理解。任何在机器上做过汇编级编程的人都知道,必须访问特定端口号才能获取键盘信息。即使你没做过汇编程序,也可能使用特定端口来设置某个卡(如声卡)。任何想使用该声卡的软件(如游戏),都需要知道声卡的端口号才能发出声音。同样如果你想从Internet上获取特定信息,也需要端口号。
    在URL中指定特定协议等同于申请特殊端口号。老的通讯程序要求你输入端口号; 谢天谢地,URL已经解决这个问题。例如,当你在URL中输入“http”时,实际上是请求访问主机上端口号80。(其它如TelNet使用端口23,某些交互游戏使用端口4201。总之,每个协议都有一个特定端口号)。记住“http”比记住使用端口80要容易得多。由于Internet上的每个人都使用同样的端口号请求特定的公共服务,所以在URL中可以使用http。
    好了,现在来看看你为什么要知道这些信息。网络管理员并不总是使用服务的缺省端口号。你可以为Internet上特定的公司服务加入一个特殊端口号──只要服务器软件允许这样设置就行。尽管使用特殊端口号并不能代替防火墙和其它安全帮助,它仍不失为在Internet服务器上设定一块不容别人窥视的领地的一种好方法。在做某些配置工作如设置防火墙的过滤器时,知道端口号也会带来方便。最后,尤其对于程序员来说,如果一切看似正常,但却不能正常运行,那么了解Internet连接是如何工作的,将有助于解决应用程序的这种问题。
 相关文章
最新更新 热点排行 推荐新闻
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
用VC++自制王码五笔输入法安装包 
在线资源指导
实用组件介绍
如何以最佳方式购买组件
ActiveX和OCX组件资源
建立安装程序
收 集 文 件
理解各种打包类型
打包应用程序
向应用程序增加基于HTML的帮助
VC++实现对远程计算机屏幕的监视
用VC++6.0的Sockets API实现一个聊天室
多线程技术在VC++串口通信程序中的应用
用VC++制作一个简单的局域网消息发送工
用VC 6.0实现串行通信的三种方法
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
WEB服务器配置全攻略(三)
QQ珊瑚虫外挂4.0版本发布!
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
Office2007简体中文版浮出水面 美图抢
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息