- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WINDOWS网络编程技术现10
下载
第10章 名字注册和解析
本章,我们将全面论述Winsock 2 中引入的名字注册和解析模型,它们都是与协议无关的。
由于现在已经废弃了Winsock 1 中引入的名字注册和解析方法,所以我们将不再对它进行讨论。
首先,介绍名字注册和解析的重要性及其用法的背景知识,然后步步深入现有的各种不同的
名字注册模型,最后说明 Winsock 2 中用于解析名字的函数。另外,还谈谈如何注册自己的服
务,以供他人查询。
10.1 背景知识
名字注册是一个过程,把一个用户好用的名和具体协议地址关联在一起。主机名及其 I P
地址便是例证。人们发现要记住一个工作站的地址(比如 1 5 7 . 5 4 . 1 8 5 . 1 8 6)非常麻烦。所以他
们宁愿把自己的机器命名为一个更容易记的地址,比如“ a j o n e s 1 ”。在I P 中,一项名为“域名
命名系统” (D N S )会把I P地址映射成相应的名字。我们将在下一节详细地讨论名字空间 。
人们不仅希望能够注册和解析主机名,还希望能够映射自己的 Wi n s o c k服务器地址,以便
于在客户机打算和服务器连接时,可获得服务器的地址。比方说,你有一个服务器,它运行
的机器地址为 1 5 7 . 6 4 . 1 8 5 . 1 8 6,端口为5 0 0 0 。如果它只在那台机器上运行,就可以把这台服务
器的地址硬编码到客户机应用程序中。但如果你需要一个更为动态的方法,即在若干台机器
运行的服务器时,就要考虑采用一个容错的分布式应用程序。如果一个服务器崩溃或过于繁
忙,另一个应用就开始接替它,为客户机提供服务。这种情况下,要找到服务器事实上在哪
个地址运行,是非常令人头疼的。最理想的情况是用若干个地址来注册自己的服务器—命
名为“容错分布式服务器”。另外,大家也许还希望动态更新一个已注册的服务及其地址。这
便是名字注册和解析的核心,而本章将着重讨论 Wi n s o c k提供的一些适用于分布式服务器注册
和名字解析的设计。
10.2 名字空间模型
深入Wi n s o c k 函数之前,需要为大家讲讲大多数协议附带的各种名字空间模型。名字空间
提供了一种能力,用一个友好名把具体的协议及其定址属性关联在一起。最常见的名字空间
是针对I P 的D N S和N o v e l l针对I P X开发的N e t Wa r e 目录服务(N D S )。这些名字空间在组成和实
施各不相同,但它们的有些属性特别有助于我们理解如何通过 Wi n s o c k注册和解析名字。
名字空间有三种类型:动态的、静态的和固定的。动态名字空间允许人们即时注册服务。
另外,还意味着客户机可以在运行时对这个服务进行查看。一般说来,动态名字空间依赖于
周期性地广播服务信息,表示该服务可继续使用。动态命名空间有:“服务声明协议”(S A P )
(用于N e t Wa r e环境)和A p p l e Ta l k 的“名字绑定协议”(N B P )名字空间。
这三类名字空间中,静态名字空间的灵活性最小。在静态名字空间内注册一个服务,需
要在规定时间内进行手工注册。这意味着无法通过 Wi n s o c k用静态名字空间注册一个服务名,
因为它只有一种解析法。 D N S是一个静态名字空间。举个例子来说,你可以用 D N S 手工把I P
244计计第二部分附Winsock API
下载
地址和主机名输入一个文件, D N S服务利用这个文件来处理解析请求。
固定名字空间和动态名字空间一样,允许即时注册服务。但和动态名字空间不同的是,
固定名字空间把注册信息保留在固定的地方上,比如说磁盘上的一个文件中。只有在服务请
求被删除时,固定名字空间才会把这项服务条目删除。它的优点在于灵活,不会连续不断地
广播任何一种类型的有用信息。缺点就是如果一个服务行为不佳(或者说编得糟糕),该服务
便在不通知名字空间提供者删除其服务条目的情况下,不知所终。从而导致客户机错误地认
为该服务仍然可用。N D S 是一个固定名字空间。
名字空间的列举
现在,大家已经知道名字空间的各种属性,但一台机器上可用哪些名字空间呢?我们来
看看。多数预先定义的名字空间的声明都在 N s p a p i . h 头文件中。每个名
文档评论(0)