获取在 Windows Server 2008 R2 上运行的 MSDN PeerChannel“SecureChat”

Posted

技术标签:

【中文标题】获取在 Windows Server 2008 R2 上运行的 MSDN PeerChannel“SecureChat”【英文标题】:Getting MSDN PeerChannel "SecureChat" running on Windows Server 2008 R2 【发布时间】:2012-02-26 21:29:15 【问题描述】:

我只能让this SDK sample of PeerChannel SecureChat在基本家庭网络的以下场景中工作:

本地在同一台机器上运行的实例之间,或 在 Windows 7 机器中

无法让它在我的 Windows Server 2008 R2 和任何其他机器之间工作(不会引发异常,但节点永远不会找到彼此,因此不会“联机”)。我可以在所有机器之间 ping 通 IPv6 地址。可执行文件有防火墙例外规则,但我也尝试过完全禁用 Windows 2008 防火墙。 PRNP 服务正在运行。

    可以让它工作吗?怎么样?

    它可以在您的 2008 机器上运行吗?

我的最佳猜测:我注意到在 Windows 7 机器中,存在“Peer Networking Grouping”和“Peer Networking Identity Manager”服务。那里的“Peer Networking Grouping”服务描述和在线讨论专门关于启用多方对话,但与家庭组有关。 Windows Server 计算机中缺少此服务。

因此,我怀疑缺少服务是 SecureChat 示例无法在 Windows Server 机器上运行的原因,但我不明白为什么 Microsoft 会锁定 Peer Channel 无法在服务器产品上运行。会不会是这个原因?

谢谢!

【问题讨论】:

对甚至尝试在 win2k8 机器上运行示例并共享运行/未运行的评论者投票。发布导致根本原因的详细信息的答案。 服务器通常配置为提供数据。而对等聊天的目标是积极参与网络连接的组件。由于您从不期望任何人坐在服务器上与某人聊天,因此永远不会加载服务。甚至不确定它们是否在服务器上提供! @SASS_Shooter - 好吧,当然聊天不是这里的目标。用于分布式计算的对等网格无疑是 Windows Server 上的一个有效用例。此外,所有服务似乎都存在并正在运行 - 缺少什么? IsPnrpAvailable 是否返回 true? 其实和 Greg 的答案差不多,只是提一下,问问你有没有试过这些东西:die-rooter.de/ITworks/archives/… 【参考方案1】:

MSDN page 提到了 Windows 实现 PNRP 的这个微妙细节:

运行相同版本的 PNRP 的任何两个客户端都可以相互定位 使用这个协议...

【讨论】:

【参考方案2】:

尝试在服务器上启用这些服务:

    对等名称解析服务器(通过服务器管理安装) Peer Discovery Server(通过服务器管理安装) 简单服务发现协议服务(SSDP 服务)

然后只需确保修改防火墙规则即可;默认情况下,它们会阻止 IPv4 / IPv6 Teredo Tunneling 驱动程序。 IPv6 需要支持,因为它是 PNRP 的要求。

此外,您应该能够以两种方式配置您的服务;通过 Internet 信息系统 (IIS) 或作为 Windows 服务。你最好的选择是使用 IIS,你可以在这里找到一篇关于如何配置它的文章:Hosting and Consuming WCF Service

这些是我能想到的让它运行​​的一些技巧。希望对您有所帮助。

【讨论】:

以上是关于获取在 Windows Server 2008 R2 上运行的 MSDN PeerChannel“SecureChat”的主要内容,如果未能解决你的问题,请参考以下文章

在 Server 2008 上的 Windows 服务中托管 WCF 服务时应该使用啥帐户?

windows server 2012 可以安装sql2008 吗

Windows Server 2008 R2怎样设置自动登陆

Windows Server 2008 R2怎样设置自动登陆

windows server 2012 + sql server 2008 r2安装

如何通过 C++ 程序在 Windows server 2008/2012 上初始化磁盘