Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf

Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf

ID:51493246

大小:937.35 KB

页数:22页

时间:2020-03-25

Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf_第1页
Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf_第2页
Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf_第3页
Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf_第4页
Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf_第5页
资源描述:

《Windows+网络编程技术(四)Windows_网络编程技术(四)_.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、下载第4章命名管道“命名管道”或“命名管线”(NamedPipes)是一种简单的进程间通信(IPC)机制,MicrosoftWindowsNT,Windows2000、Windows95以及Windows98均提供了对它的支持(但不包括WindowsCE)。命名管道可在同一台计算机的不同进程之间,或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。用命名管道来设计应用程序实际非常简单,并不需要事先深入掌握基层网络传送协议(如TCP/IP或IPX)的知识。这是由于命名管道利用了微软网络提供者(MSNP)重定向器,通过一个网络,在各进程间建立通信。这样一来,应

2、用程序便不必关心网络协议的细节。之所以要用命名管道作为自己的网络通信方案,一项重要的原因是它们充分利用了WindowsNT及Windows2000内建的安全特性。这里有一个可采纳命令管道的例子。假定我们要开发一个数据管理系统,只允许一个指定的用户组进行操作。想像在自己的办公室中,有一部计算机,其中保存着公司的秘密。我们要求只有公司的管理人员,才能访问及处理这些秘密。假定在自己的工作站机器上,公司内的每名员工都可看到网络上的这台计算机。然而,我们并不希望普通员工取得对机密材料的访问权。在这种情况下,命名管道可发挥出很好的作用,因为我们可开发一个服务器应用程序,令其以来自客户机的请求为

3、准,对公司的秘密进行安全操作。服务器可将客户访问限制在管理人员身上,用WindowsNT或新版Windows2000自带的安全机制,便可非常轻松地做到这一点。在此要记住的一个重点是,将命名管道作为一种网络编程方案使用时,它实际上建立一个简单的客户机/服务器数据通信体系,可在其中可靠地传输数据。本章将介绍如何来开发一个命名管道客户机及服务器应用。首先要解释的是命名管道的命名规范(约定),然后介绍基本的管道类型。随后,将向大家展示如何实现一个简单的服务器应用。然后以它为基础,深入探讨高级的服务器编程技术。接下来,讲解如何开发一个简单的客户机应用。到本章末,我们会对命名管道已知的所有问题

4、及限制进行总结。4.1命名管道的实施细节命令管道是围绕Windows文件系统设计的一种机制,采用“命名管道文件系统”(NamedPipeFileSystem,NPFS)接口。因此,客户机和服务器应用可利用标准的Win32文件系统API函数(如ReadFile和WriteFile)来进行数据的收发。通过这些API函数,应用程序便可直接利用Win32文件系统命名规范,以及WindowsNT/Windows2000文件系统的安全机制。NPFS依赖于MSNP重定向器在网上进行命名管道数据的发送和接收。这样一来,便可实现接口的“与协议无关”特性:若在自己开发的应用程序中使用命名管道在网上不同

5、的进程间建立通信,程序员不必关心基层网络传送协议(如TCP和IPX等等)的细节。对NPFS来说,命名管道是用“通用命名规范”(UNC)来标识的。在第2章,我们已比较深入地探讨了UNC、Windows重定向器以及安全机制。第4章计命名管道计计67下载4.1.1命名管道命名规范命名管道的标识是采用UNC格式进行的:\serverPipe[path]name上述字串可分为三部分来观看:\server、Pipe和[path]name。第一部分\server指定一个服务器的名字。命名管道便是在那个服务器上创建的,而且要由它对进入的连接请求进行“监听”。第二部分Pipe是一个不

6、可变化的“硬编码”字串(必须原样照录,但不用区分大小写),用于指出该文件从属于NPFS。而第三部分[path]name则使应用程序可以“唯一”定义及标定一个命名管道的名字,而且可在这里设置多级目录。举个例子来说,下述字串均是合法的命名管道名字:\myserverPIPEmypipe\Testserverpipecooldirectoryfuntestjim\.PipeEasynamedpipe注意就服务器字串这一部分来说(第一部分),既可表达为一个小数点(.),亦可表达为一个实际的服务器名字。4.1.2字节模式及消息模式命名管道提供了两种基本通信模式:字节模

7、式和消息模式。在字节模式中,消息以一个连续的字节流的形式,在客户机与服务器之间流动。这意味着,对客户机应用和服务器应用来说,在任何一个特定的时间段内,它们不能准确知道有多少字节从管道中读入或者写入管道。因此,在一方写入某个数量的字节,并不表示在另一方会读出等量的字节。这样一来,客户机和服务器在传输数据的时候,便不必关心数据的内容。而在消息模式中,客户机和服务器则通过一系列不连续的数据单位,进行数据的收发。每次在管道上发出了一条消息后,它必须作为一条完整的消息读入。在图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。