获取在 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怎样设置自动登陆