欢迎来到天天文库
浏览记录
ID:51493383
大小:317.60 KB
页数:9页
时间:2020-03-25
《Windows+网络编程技术(二)Windows_网络编程技术(二)_.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、下载第2章重定向器Windows使应用程序能通过操作系统内建的文件系统服务在网络上通信。有时候,我们将之称为“网络操作系统”(NOS)能力。本章准备利用Windows95、Windows98、WindowsNT、Windows2000和WindowsCE等均含有的Windows文件系统组件,向大家展示这些网络连接能力。本章的目的是让大家理解这些能力与邮槽和命名管道连网技术的关系。邮槽和命名管道连网技术分别是第3章和第4章的主题。若应用程序希望访问本地系统中的文件,需要依赖操作系统来满足I/O(输入/输出)请求。我们通常把它称为“本地I/O”。例
2、如,在一个应用程序打开或关闭文件时,需要由操作系统来决定如何访问包含了指定文件内容的一个设备。找到设备后,I/O请求会被转发给一个本地设备驱动程序。通过网络来访问一个设备也同样。然而,I/O请求必须通过网络转发给对应的远程设备。我们将其称为“I/O重定向”(I/ORedirection)。例如,Windows允许我们将一个本地磁盘标识符(如E:)映射或重定向到远程计算机上的一个目录共享入口。应用程序若指出自己需要使用E:时,操作系统便会将I/O请求自动重定向至一个设备,那个设备叫作“重定向器”(Redirector)。重定向器会建立到远程计算机
3、的一个网络信道,以便访问指定的远程目录。随后,应用程序可自由使用一些常规的文件系统API函数,比如ReadFile(读文件)和WriteFile(写文件)等。虽然实际是通过网络访问的,但表面上却与访问本地文件无异。本章着重讲解了如何通过重定向器将普通的I/O请求“重定向”到远程设备。本章内容对于以后的学习异常重要,重定向机制是邮槽和命名管道技术的基础。首先,我们打算解释如何通过网络,使用“多UNC提供者”(MultipleUNCProvider,MUP)资源定位符,通过“通用命名规范”(UniversalNamingConvention,UNC
4、)来引用远程文件。随后,我们讲解了MUP如何调用一个网络提供者,从而揭示出怎样通过一个重定向器,在“服务器消息块”(ServerMessageBlock,SMB)协议的帮助下,在不同的计算机之间建立数据通信。最后,我们探讨了网络安全方面的一些问题。使用基本的文件I/O操作,通过网络来访问文件时,这些安全问题是必须考虑到的。2.1通用命名规范“UNC路径”为网络文件及设备的访问建立了一套统一的规范。它最大的特点便是不必指定或引用一个已映射到远程文件系统的本地驱动器字母。这一点非常重要,因为应用程序可变得“与驱动器字母无关”。在复杂的网络环境中,应
5、用程序不必对此有任何顾忌。同引用本地驱动器字母的方法相比,UNC名字要优越得多,因为在访问共享资源时,不必担心用光有限的驱动器字母的问题。另外,驱动器字母的分配也和具体的用户有着密切的联系—如果进程在你的用户环境中不能运行,便无法利用由你规定的驱动器字母映射关系。UNC名字完全解决了这些问题,它的格式如下:\[服务器][共享名][路径]第一部分是\[服务器],必须以两个反斜杠开头,紧跟着一个服务器名字。服务器的名字46计计第一部分附传统网络API下载代表着网络中的一台远程服务器,我们想访问的远程文件便位于其中。在UNC名字中,第二部分是
6、[共享名],它对应着远程服务器上的一个“共享入口”或者“共享位置”。所谓“共享位置”,实际就是文件系统中的一个目录(包括根目录),表示可共享的资源便放在这个位置下面,是其他机器获取共享资源的“入口”。而第三部分[路径]对应的是共享位置下的某个具体目录(或子目录)。举个例子来说,假定现在有一台名为Myserver的服务器,在其本地硬盘驱动器D:上设置了一个共享目录,名为D:MyfilesCoolMusic,并将这一长串名字简化为“Myshare”这个易记的“共享名”。现在,假定该共享目录下含有一个名为Sample.mp3文件。那么,假如
7、网络中其他任何一台机器想引用(访问)这个MP3音乐文件,只需像下面这样指定它的UNC名字即可:\MyserverMyshareSample.mp3可以看出,与其将一个本地驱动器映射到共享目录Myshare,还不如通过网络用UNC名字来直接引用一个文件—因为所有机器使用的都是同样的UNC名字!若通过UNC名字在网络中引用文件,应用程序便不必关心通过网络建立连接的细节,这显然是一种非常出色的设计。使用UNC名字,系统便可非常轻松地定位网络服务器共享目录以及文件路径。网络通信的所有细节都是由网络提供者的“重定向器”来负责控制的,本章稍后即会对此
8、进行详细论述。完成了第3和第4章的学习之后,大家便会知道邮槽和命名管道技术非常依赖UNC名字。在图2-1中,我们展示了Windows环境下在网络操作系
此文档下载收益归作者所有