"网络编程"学习笔记(2)

来源:互联网 发布:剑三苍云正太捏脸数据 编辑:程序博客网 时间:2024/05/01 17:38

Wi n d o w s使应用程序能通过操作系统内建的文件系统服务在网络上通信。
I/O重定向的概念:
?IO在操作系统中,要访问远程的机子,操作系统必需对远程的资源通过网络进行重新的定向,这就是重定向的大致概念。例如,Wi n d o w s允许我们将一个本地磁盘标识符(如E :)映射或重定向到远程计算机上的一个目录共享入口。应用程序若指出自己需要使用E :时,操作系统便会将I / O请求自动重定向至一个设备,那个设备叫作"重定向器"(R e d i r e c t o r)。重定向器会建立到远程计算机的一个网络信道,以便访问指定的远程目录。随后,应用程序可自由使用一些常规的文件系统A P I函数,比如R e a d F i l e(读文件)和Wr i t e F i l e(写文件)等。虽然实际是通过网络访问的,但表面上却与访问本地文件无异。
?如何通过重定向器将普通的I / O请求"重定向"到远程设备:
??名词解释:
????UNC:资源定位符。格式://[Server]/[ShareName]/[Address]
????MUP:资源定位器。
????MSNP:微软网络提供者。
客户户户机:
应用程序 <--> MUP <--> 重定向器(网络提供者) <--> 传送驱动程序 <--> 网络接口卡

服户务户器:
本地I/O <--> 重定向器服务器服务 <--> 传送驱动程序 <--> 网络接口卡 ?网络接口卡(客户端)

访问令牌:
用户登录进入一个Windows NT系统后,系统会对用户的帐号名和密码进行验证,两者统
称为"登录凭据"。若用户登录成功(即验证通过),系统便会创建一个相应的访问令牌,并
将该用户的S I D分配给它。对面向这名用户执行的任何进程来说,都会拥有该访问令牌的一个拷贝。若一个进程试图访问一个受到保护(即保密)的对象,访问令牌中的这个S I D便会与D A C L中分配给S I D的访问权限进行对比。


实例1:
使用M S N P重定向器,通过一个网络,Wi n 3 2应用程序可分别使用C r e a t e F i l e、R e a d F i l e和Wr i t e F i l e这三个A P I函数,来创建、访问以及修改文件:
HANDLE CreateFile(
? LPCTSTR lpFileName,????????? // pointer to name of the file
? DWORD dwDesiredAccess,?????? // access (read-write) mode
? DWORD dwShareMode,?????????? // share mode
? LPSECURITY_ATTRIBUTES lpSecurityAttributes,
?????????????????????????????? // pointer to security attributes
? DWORD dwCreationDisposition,? // how to create
? DWORD dwFlagsAndAttributes,? // file attributes
? HANDLE hTemplateFile???????? // handle to file with attributes to
?????????????????????????????? // copy
);
函数原型举例:CreateFile("////Myserver//Myshare//Sample.txt",
??????? GENERIC_WRITE | GENERIC_READ,
??????? FILE_SHARE_READ | FILE_SHARE_WRITE, NULL,
??????? CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL)
???
????? CloseHandle(FileHandle);
接下来将是邮槽和命名管道。

原创粉丝点击