需要点对点聊天,WCF 和 PNRP 适合吗?

Posted

技术标签:

【中文标题】需要点对点聊天,WCF 和 PNRP 适合吗?【英文标题】:Need peer to peer chat, is WCF and PNRP suitable for this? 【发布时间】:2012-01-22 17:36:32 【问题描述】:

我正在编写一个应用程序,作为该应用程序的一部分,我希望用户能够打开彼此的直接连接,以便他们可以聊天。完全像 msn messenger/skype 等...

但据我了解,由于 NAT 和防火墙,这并不简单。

    我将 WCF 用于应用程序的一个单独部分,想知道 WCF 对 P2P 应用程序有什么好处吗?

    这个 PNRP 东西,似乎没有很好的文档。它实际上被任何现实世界的应用程序使用吗?它会克服 NAT 和防火墙的所有问题吗?

【问题讨论】:

关于“完全像 MSN Messenger”。 Windows Live (MSN) Messenger 是客户端/服务器。所有即时消息都经过一组服务器。但是,语音/视频、文件传输、显示图片和照片通常直接通过 P2P 进行。 【参考方案1】:

之前使用过 Windows PNPR 堆栈,我可以告诉您,它与 IPV6 非常硬连线。因此,只要网络上的所有节点都具有 IPV6 连接,就可以了。在现实世界中,很少有 ISP 和企业网络支持 IPV6。但如果所有节点都在同一个 LAN 上,它确实可以工作。

归根结底,我不会向任何人推荐 PNRP。

合法的 NAT 穿越需要公共互联网上的服务器来协助会合(存在)、信令和 NAT 穿越。查看我对一般 P2P 问题的回答here。

如果您只专注于文本聊天 - 您是否考虑过部署 Jabber/XMPP 服务器并使用 many well written XMPP client stacks 之一供用户聊天?

【讨论】:

以上是关于需要点对点聊天,WCF 和 PNRP 适合吗?的主要内容,如果未能解决你的问题,请参考以下文章

Swoole+Redis+webSocket实现点对点即时聊天

Swoole+Redis+webSocket实现点对点即时聊天

Activemq mqtt 点对点聊天实现(转载)

asmack android点对点聊天还在聊天中显示第三条用户聊天消息

Boost::Asio 点对点 udp 聊天

用SSH框架ajax和jms实现网页的点对点聊天通信。这个策略可以不?