我想写一个程序,你可以让2个客户实时交谈。我一直在研究WCF服务和双工消息,数据合同等,但现在我很困惑。
基本上我认为它是:
[客户] --- msg - > [服务器] --- msg - > [客户],反之亦然。
服务器将充当信使。
你能指出我正确的方向吗?我想将WPF用于客户端应用程序。答案 0 :(得分:4)
查看WCF peer-to-peer编程范例。它将通过允许网络上其他客户端的动态discovery(以及article here)在WCF 4(使用.NET 4 - 将于2010年4月12日到期)进行扩展。
答案 1 :(得分:3)
这应该有助于您前进:WCF / WPF Chat Application
答案 2 :(得分:0)
也许Windows Azure Service Bus(使用WCF)可能值得一看?
服务总线可以有效地用作消息总线,这是实现所描述内容的一种方式。
答案 3 :(得分:0)
我可以想到两种情景
客户是唯一发起请求,发送推送消息并接收他们定期请求新消息的客户端。这种架构的主要优点是它更加防火墙。
客户端也是接收中央服务器中继的消息的服务器。主要优点是客户端可以更快地接收更新并节省带宽。
答案 4 :(得分:-1)
我写的程序就像你的样品! 但它有一个很大的不同:我的程序有一个聊天服务器和一个客户端。客户可以与他人聊天。(使用聊天服务器服务)
此程序使用两个wcf服务在客户端和服务器之间建立连接。(客户端呼叫服务器并为其发送消息,服务器从客户端获取消息并发送给所有客户端已连接到服务器)我认为你使用过一项服务,必须使用两项服务(比如我)或使用双工服务。
sucha理发师的例子太酷了(WCF / WPF聊天应用程序回答eric)。他使用了双工服务,但这个例子的真正问题是“sucah也使用了WPF,这是初学者的专家例子(比如我和你)”。
如果你想我可以分享我的节目!!!