WEB开发网
开发学院操作系统Windows Vista 利用Vista和WCF中强大P2P通信功能 阅读

利用Vista和WCF中强大P2P通信功能

 2008-05-27 17:19:12 来源:WEB开发网   
核心提示: PNRP 和 IPv6 PNRP 构建于 Internet 协议版本 6 (IPv6) 之上,由于 IPv6 对于多数开发人员而言还相当陌生,利用Vista和WCF中强大P2P通信功能(5),因此在讨论 PNRP 机制之前,非常有必要提及 IPv6 的至少一个重要方面,诚然,我只是浅显地阐

PNRP 和 IPv6 PNRP 构建于 Internet 协议版本 6 (IPv6) 之上。由于 IPv6 对于多数开发人员而言还相当陌生,因此在讨论 PNRP 机制之前,非常有必要提及 IPv6 的至少一个重要方面。在 IPv6 中,地址是一个 128 位的值(这可能产生约 3.4×1038 种地址组合)。这种大小的 IPv6 地址池使 IPv6 的最重要功能之一 - 端对端寻址变为可能,即使这些地址被分割为多个子网并隐藏在 NAT 之后。

PNRP 示例 PNRP 功能的原型、结构、错误代码均在 Windows SDK 的 p2p.h 头文件中定义。如果某应用程序想要向 PNRP 注册一个网格名,它必须用非托管代码通过 Windows API 实现,或用托管代码通过公共语言运行库 (CLR) 的 P/Invoke 工具实现。目前,在 Windows API 的 PNRP 部分的 .NET Framework 中未包含托管包装。但您可以通过使用 netsh 命令行实用程序来访问 PRNP。通过 netsh,您可以按以下所示向 PNRP 注册一个新的 PNRP 名:

   c:  emp>netsh
  netsh>p2ppnrppeer
  netshp2ppnrppeer>add0.justinsmith
  Ok.

命令行参数 0.justinsmith 即是 P2P 名。当此命令执行时,PNRP 基础结构会生成一个 PNRP ID,将该 PNRP ID 与 P2P 名相关联,并为该 PNRP ID 分配一个 IPv6 和 IPv4 地址。如果您访问另一台已安装 PNRP 并已将其启动的计算机,则可以用以下 netsh 命令解析网格名 0.justinsmith:

   netshp2ppnrppeer>resolve0.justinsmith
  Resolvestarted...
  Found:Comment:gonzo
  Addresses:[0000:0000:0000:0000:0000:0000:0000:0001]:8350udp
  192.168.42.100:8350tcp

现在需要解释一下该解析命令的输出。首先,Comment 字段代表注册了 0.justinsmith 的计算机名称(我在 Muppets 的基础上为我的计算机命名)。该字段从 netsh 自动填充,并且不能用作解析进程的一部分。其次,注意一下分配给该节点的 IPv6 和 IPv4 地址。这是 netsh 和允许通过 IPv4 网络传送 IPv6 通信量的 Teredo 转移技术共同具备的一个功能。诚然,我只是浅显地阐述了 PNRP,但我已经表明了 PNRP 使我可以用 P2P 名来解析 IP 地址。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:利用 Vista WCF

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接