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

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

ID:52241654

大小:669.37 KB

页数:18页

时间: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、下载第10章名字注册和解析本章,我们将全面论述Winsock2中引入的名字注册和解析模型,它们都是与协议无关的。由于现在已经废弃了Winsock1中引入的名字注册和解析方法,所以我们将不再对它进行讨论。首先,介绍名字注册和解析的重要性及其用法的背景知识,然后步步深入现有的各种不同的名字注册模型,最后说明Winsock2中用于解析名字的函数。另外,还谈谈如何注册自己的服务,以供他人查询。10.1背景知识名字注册是一个过程,把一个用户好用的名和具体协议地址关联在一起。主机名及其IP地址便是例证。人们发现要记住一个工作站的地址(比如157.54.185.186)非常麻烦。所以他们宁愿把

2、自己的机器命名为一个更容易记的地址,比如“ajones1”。在IP中,一项名为“域名命名系统”(DNS)会把IP地址映射成相应的名字。我们将在下一节详细地讨论名字空间。人们不仅希望能够注册和解析主机名,还希望能够映射自己的Winsock服务器地址,以便于在客户机打算和服务器连接时,可获得服务器的地址。比方说,你有一个服务器,它运行的机器地址为157.64.185.186,端口为5000。如果它只在那台机器上运行,就可以把这台服务器的地址硬编码到客户机应用程序中。但如果你需要一个更为动态的方法,即在若干台机器运行的服务器时,就要考虑采用一个容错的分布式应用程序。如果一个服务器崩溃或

3、过于繁忙,另一个应用就开始接替它,为客户机提供服务。这种情况下,要找到服务器事实上在哪个地址运行,是非常令人头疼的。最理想的情况是用若干个地址来注册自己的服务器—命名为“容错分布式服务器”。另外,大家也许还希望动态更新一个已注册的服务及其地址。这便是名字注册和解析的核心,而本章将着重讨论Winsock提供的一些适用于分布式服务器注册和名字解析的设计。10.2名字空间模型深入Winsock函数之前,需要为大家讲讲大多数协议附带的各种名字空间模型。名字空间提供了一种能力,用一个友好名把具体的协议及其定址属性关联在一起。最常见的名字空间是针对IP的DNS和Novell针对IPX开发的N

4、etWare目录服务(NDS)。这些名字空间在组成和实施各不相同,但它们的有些属性特别有助于我们理解如何通过Winsock注册和解析名字。名字空间有三种类型:动态的、静态的和固定的。动态名字空间允许人们即时注册服务。另外,还意味着客户机可以在运行时对这个服务进行查看。一般说来,动态名字空间依赖于周期性地广播服务信息,表示该服务可继续使用。动态命名空间有:“服务声明协议”(SAP)(用于NetWare环境)和AppleTalk的“名字绑定协议”(NBP)名字空间。这三类名字空间中,静态名字空间的灵活性最小。在静态名字空间内注册一个服务,需要在规定时间内进行手工注册。这意味着无法通过

5、Winsock用静态名字空间注册一个服务名,因为它只有一种解析法。DNS是一个静态名字空间。举个例子来说,你可以用DNS手工把IP244计计第二部分附WinsockAPI下载地址和主机名输入一个文件,DNS服务利用这个文件来处理解析请求。固定名字空间和动态名字空间一样,允许即时注册服务。但和动态名字空间不同的是,固定名字空间把注册信息保留在固定的地方上,比如说磁盘上的一个文件中。只有在服务请求被删除时,固定名字空间才会把这项服务条目删除。它的优点在于灵活,不会连续不断地广播任何一种类型的有用信息。缺点就是如果一个服务行为不佳(或者说编得糟糕),该服务便在不通知名字空间提供者删除其

6、服务条目的情况下,不知所终。从而导致客户机错误地认为该服务仍然可用。NDS是一个固定名字空间。名字空间的列举现在,大家已经知道名字空间的各种属性,但一台机器上可用哪些名字空间呢?我们来看看。多数预先定义的名字空间的声明都在Nspapi.h头文件中。每个名字空间都有一个分配所得的整数值。表10-1列出了一些比较常见的名字空间,它们已获支持,并可用于Win32平台。返回的名字空间由工作站上安装的协议决定。比方说,如果一个工作站上没有安装IPX/SPX,就不会返回NS_SAP名字空间。表10-1已获支持的名字空间名字空间值说明NS_SAP1SAP名字空间;用于IPX网络NS_NDS2N

7、DS名字空间;也用于IPX网络NS_DNS11DNS名字空间;多见于TCP/IP网络和互联网ND_NTDS32WindowsNT域名空间;运行于Windows2000的与协议无关的命名空间在一台机器上安装IPX/SPX时,只支持SAP名字空间查询。如果想注册自己的服务,还需要安装“SAP代理服务”。某些情况下,需要“NetWare的客户机服务”(ClientServiceofNetWare)把本地的IPX接口地址准确无误地显示出来。如果没有这个服务,本地地址全部以0的形式出现。另

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

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

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